Managing multiplayer logic for a creature's movement based on multiple players' line of sight

This is a cool idea and a neat implementation, but to be honest I’m not sure why you’re using an array in the first place. I would have kept a boolean true/false for is seen by player as you have mostly in place but on the monster’s blueprint and not casting to the monster from the player, with a tag for the player characters maybe and have a soft reference to them, and then it wouldn’t matter how many players may or may not be looking. If it’s not seen by a player that will go false and it will move, if it is seen by a player then it will be true and it’s movements would be disabled. Not sure if you prefer pawn sensing, but for troubleshooting you really could just project an overlap box that corresponds to the player’s vision and having it rotate manually, and sticks out very far as far as your pawn sensing limit is set to, then you could just trigger the movement to only be enabled if not overlapping. That way it would check for being seen first before moving, and each player would have this box so it would work regardless of multiple players or just one looking since it’s just confirming if it’s being seen or not first directly in the monster’s BP, so would react instantly if it was being seen and the movement would never turn back on from one player that stops looking while another does since the overlap would still be true and so the sequence could not continue. That’s a somewhat janky way to do it tbh, but it would definitely work, and wouldn’t take much computing power to just see if it’s being overlapped by the invisible box that represents the players’ views.