Agent Occasionally Stops When Using RVOController

  • A* version: 5.3.3 (2025-01-31)
  • Unity version: 6000.0.39f1

I’m developing in a 2D environment, and during the process of agents moving, arriving, moving, and arriving again, they occasionally get stuck in a state where they can’t move anymore. Changing the destination to a different place resolves the issue, but in my game, players cannot control the agents.
I need the destination to change only when the agent is definitely able to move. I need help with this situation.

ezgif-8289f0a5a054af

Your title notes that this is when using RVOController- does this go away when you turn off RVO?

When RVO Controller is turned off, the bug where agents don’t move is completely resolved, but agents overlap with each other and normal RTS movement cannot be used.

Right, yeah. Was wondering if it was fully resolved or not, thanks for that clarification.

Send over this project if you can? I want to test it on my machine exactly as is if possible.

If you right-click to move and then try right-clicking again after the Agent has completely stopped, the issue occurs easily.

Thank you for your interest in my problem. :slight_smile:

Lock When Not Moving is what’s causing this. Once they reach their destination (which only one will, since the others will move around it, never truly “reaching” the spot) they enter “Locked” in the RVO Controller. Disabling that option fixes the stopping issue, and as a bonus, also makes it so they don’t endlessly circle the first unit to reach the destination.

Does that work for you, or do you absolutely need “Lock When Not Moving”?

I would like to use the LocalAvoidance feature. Ultimately, I want all units to perform RTS movement and be able to bypass each other without pushing or colliding through the LocalAvoidance feature.

You’ll be able to still use Local Avoidance itself; “Lock When Not Moving” is just one of the local avoidance settings :smiley: It’ll still work with it off.

1 Like