Seekers Collide Only When Stationary?

I’m hoping to set up pathfinding such that my seekers will not block others’ movement when they are in motion. However, once they are stopped, they block the movement of any other active seekers.

I have something sort of working by switching the layer of a seeker and rescanning the graph when they start or stop, but that is pretty slow and hackish. Is there a better option for this? I looked at Dynamic Obstacles but the problem is that when these units are in motion, they are not obstacles at all.

Thanks!

Not sure if this is the best solution, but I found a better solution than rescanning the entire graph and mucking with layers.

Each object with a Seeker also has a child gameObject that has a collider on the “StoppedUnits” layer. This gameObject is enabled when the unit is stopped and disabled when it is in motion.

When the unit starts or stops, I put the child gameObject into the correct state and then trigger a partial rescan via Astar.active.UpdateGraphs. For the area I pass in the collider’s bounds plus an appropriate buffer area (using Bounds.Expand). All other moving units are then forced to generate a new path.