It’s entirely possible I’m doing something wrong but I just realized that only the obstacles that are utilizing a Mesh Renderer/Filter are being recognized as non-pathable when I scan my graph. This doesn’t work for my 2.5d game where almost everything needs to use a Sprite Renderer so surely there’s a workaround? I didn’t find anything about requiring a mesh renderer in the RVOSquareObstacle docs.
Of course, after dorking with this for a while I think I found the answer immediately after posting this. I just noticed on the main Pathfinder script I have the option to Rasterieze meshes or colliders. When I turn off meshes and select colliders it appears to work as long as I apply colliders to all obstacles.
However, it doesn’t appear to matter if SquareObstacle is on or off… am I missing something?
The RVOSquareObstacle component is used purely for local avoidance, not for pathfinding. Usually things like colliders or navmesh cuts that remove parts of the navmesh are to be preferred over the RVOSquareObstacle component.
I guess I’m showing my noob-ness by not completely understanding the difference. Would an RVO agent not know to path around an object using RVOSquareObstacle? In my setup at least, they just run straight into it and don’t try to avoid it at all.
It must be an RVO setting that I don’t have set up correctly though because my agents do the same thing with each other. Video example, excuse my poor camera work
Every unit has an “opening” to its left or its right that an enemy unit is attempting to move towards. When an opening becomes occupied, it tells all incoming units to find the next closest opening. But it’s like all the agents are just slamming into each other instead of going around.