Let blocking RVO agent know he is blocking path

I have a 2d grid for which I am using RVO controller for local collision.

I have set ‘locked when not moving’ to true as I don’t want agents to push other agents when they move, this works great with some issues , the one issue I want to solve is, when an agent is trying to move to a position that is blocked by a ‘not-moving agent’ ,I want the not moving agent to know that he is blocking some other agent and move the blocking agent to an empty block.

Here is a screen shot of an agent blocking other agents destination block:
blocking agent

So basically, I want the blocking-agent to know exactly when some other agent(s) is pushing into him, so I can maybe try to move him out of the way


Isn’t this very much the same as setting ‘block when not moving’ to false, so that the local avoidance algorithm can move the other agent out of the way?


I tried that , but doesn’t work great , the agents push each other in a very inorganic way and began to crowd around a point. I think this happens bcase they are still trying to parse the path given to them by AIPath.

I tried having agents to be obstacles themselves and AI path update the graph the area around agents, everytime an agents velocity is almost zero, but I realized then agents block themselves.

looking into single node blocker but looks like I can’t use AIPath with that and ai lerp


Are you using the beta version or the non-beta. The beta version has some improvements for this scenario I think.

Trying to upgrade to A* beta , had to update unity itself after a few hiccups stuck on error “no suitable method FixedUpdate” for AIPath , looks like it was removed, what can I used instead?

PS: using OnUpdate in MyAiPath.cs like so, i think i am using it right :thinking:

 protected void FixedUpdate() {

Tried using beta, looks like the RVO itself is a little bit smoother but for some reason the agent wont push other agent that are blocking the way now, even when lock when not moving is false , also seem like some agent sometime go into obstacles

Trying out a one-unit ray cast to find if there are any other agent in front of an agent when he is walking asking the other agent to get out of the way , doesn’t work perfectly but having some success with it atm