Problem Setting RVOController.velocity

I sat on this issue for quite some time but finally decided to report it. I have a player-controlled character that I would like my AI to avoid. Setting RVOController.velocity for some reason unknown to me would only affect the AI in the world X-axis and not the world Z-axis. After some more digging, I found that when setting RVOController.velocity and logging that same property, the log would always be 0.0 on all axes.

After switching to RVOController.SetTarget(), everything works as expected, including logging ‚ÄúRVOController.velocity‚ÄĚ returning proper values. Thought I would report on this though as it did trip me up for a while and maybe there could be a fix, or maybe I could be doing something wrong, please let me know.

My RVOSimulator settings are:

symetryBreakingBias: 0.2
hardCollisions: true
desiredSimulationFPS: 30
doubleBuffering: false

and I am setting the value every FixedUpdate() with a fixed timestep of 0.02.

I am using:
A* version 4.3.47
Windows 10
Unity 2020.3.24f1 LTS
IL2CPP with .NET 4.x


Sorry for the late answer.
Thanks! That’s definitely a bug.

If you want, you can try to remove the To2D call in the velocity property setter. I think that should fix it.

(might be tricky to make changes if you use the package manager, though)

1 Like

No worries, and yup, that was it, simple enough.

Thanks :grinning: