I need an approach to having multiple agent types and moving obstacles that only are in the way of one agent type - is this possible?
For now I tried adding multiple NavMeshSurfaces and attached NavMeshModifierVolumes to the obstacles, but recalculating the NavMeshSurface at runtime, but this isn’t working as intended.
I also need to know, if there is a complete path or the obstacles block it - and I need to check that quite frequently.
Well, best I can find is to indeed use the ModifierVolumes and use the Affected Agents field to specify what agents can ignore these.
Keep in mind you should remove the Obstacle components from these modifierVolumes. Obstacles cut out parts of the NavMesh, and those cuts automatically count for all agents.
As for your second question, I believe NavMeshAgent.pathStatus does exactly what you want here.
Thank you for you answer, but the path status is always partial with this method, never complete (even if the path is completely free) and never invalid (even if there are modifier volumes in the way cutting the surface completely in two halves