Local Avoidance behaves differently on device (Quest 3) versus in Unity Editor

  • A* version: 5.3.3
  • Unity version: 6000.0.032f1

I have a project with ~20 FollowerEntity agents with local avoidance enabled. For this test I’m just having all of them path to a common point. In the editor they move smoothly to the point avoiding each other and gathering around the point. When I build an APK for the Quest 3 and try the same thing the agents jitter and frequently spin in a circle and many of the agents don’t ever reach the destination.

The device isn’t CPU or GPU bound. It’s running smoothly at 72 fps.

If I turn off local avoidance the agents path smoothly on device, but obviously overlap.

When I switch the agents to using RichAI + RVOController they move smoothly and avoid each correctly both in editor and on device.

The issue seems to be an interaction between RVOSimulator, FollowerEntity and mobile(?) devices (fewer concurrent jobs?).

Switching to RichAI could be a solution for me until I need more agents, but this issue might be affecting other folks too.

Hmm. I have no idea what could cause this. It should behave the same.
You get no warnings of any kind?

I tried setting astar logging to ‘Heavy’ and ‘Only Errors’ and there were no errors or relevant messages. There aren’t errors or warnings coming from other systems either.

Looking at the way the agents jitter and twist it almost looks like they are trying to avoid themselves. :man_shrugging:

Do you think you could try to disable the Burst compiler for the build? Maybe it’s related to that.

I tried several things:

  • Upgraded com.unity.entities to 1.3.10 (I was on 1.3.9)
  • Disabled Burst in Burst AOT Settings. (Not sure how to verify it was actually disabled in the .apk)
  • Upgrade to Unity 6000.0.40f1 (This upgrades com.unity.burst to 1.8.19)

The issue is still present with Burst enabled or disabled in all of these cases.

Weird… I have no idea why this would happen.

Do you have a video of this happening? It might help me diagnose the issue.