Similar to a real time strategy game, the player can select a group of units and tell them to move to a single point.
PathUtilities.IsPathPossible will tell me if the point is reachable via the navmesh, however it doesn’t tell me if the point is occupied by a friendly stationary unit such that RVO won’t let them move to that point.
Similarly, even if the point is originally unoccupied since the group of units all move to the same point, the first unit will reach that point and stand there while the other units will circle and/or run in place.
OnTargetReached doesn’t help either since it checks for the end of the path and doesn’t consider if the path is blocked.
I could tell the units to not move to the same point but in a formation, but the problem still may exist that another friendly unit is in that formation’s target position.
Since this is a commonplace problem I wanted to ask if there is already a solution for this, and if not do you have any suggestions? Right now what comes to mind is to just keep doing raycasts and stopping the path early if the point is blocked, which isn’t very efficient considering RVO already has the information I need.