RVO delay in movement (2D)

So I am noticing this issue that when I change the destination for agents when using RVO in a 2D game that only a few agents start moving right away with the rest being delayed even though there paths change immediately (I checked the scene view gizmos to verify that):

Untitled Project

This is the example scene with no changes to anything.

One thing I noticed when playing around with settings is that if I just turn off the Stop when destination is crowded I no longer have the delay that most of the agents have when changing destination but of course they constantly move since they all can never reached the target destination.

Is this behavior expected?

Also in a somewhat related (RVO related I think) question, is there a way to not allow rvo agents not push each other?

Hmm, that looks weird. I’ll look into that behavior.

The RVO algorithm requires pushing. However, you can make different agents do more or less of the pushing by adjusting their priorities.

I am also noticing this behavior, it’s very consistent and looks really weird. I hope you can look into why it’s happening.

It is good to know it is not just me.


Which version of the package are you using?

I am using Version 4.3.47

I am using the latest version of the beta. It’s worth noting this only happens when there is a greater number of units all being told to move at once (something like >25-30)


This is an issue with the current implementation of the ‘stop when destination is crowded’ behavior.
You can work around it by calling (ai as AIBase).rvoDensityBehavior.ClearDestinationReached(); when you give it a new destination.