I’ve had an issue using the CanSeeTargetAny task in that if a gameobject in the target list gets destroyed before the target list can be updated, this task tries to access a non-existent object and throws an missing reference exception.
If you simply check to make sure each target is not null, I think it works as expected.