Standalone dynamic navigation not working, works fine when PIE

We are struggling for ideas as to what else we can try to fix this situation. Our EQS all (100%) fail when running standalone but work great when running PIE.

We are a VERY large world ( > 500sq/mi) with streaming levels

We have tried putting the Nav Mesh Bounds Volume in both the levels and the master as we have seen both recommended, makes no difference. We also trying making the Nav Mesh Bounds both static and moveable as we saw someone mention this helped them.

We have tried on an empty one of our landscape files, still does not work.

If we try on a new test map it does work, so no repro outside our game.

I have tried every combination in the Navigation System and Mesh Engine settings to no avail. We are assuming:
Auto Create Navigation Data needs to be false (or you get the oct tree crash)
Allow Client Side Navigation true
Generate Navigation Only Around Navigation Invokers true (and we use invokers on our bot spawners before they spawn)
Active Tiles Update Interval is 1.0 (tried 0.1 to 1.0)

Fixed Tile Pool Size is true
Tile pool size : have tried 1000-10000
Tile Size uu : saw to stay under 10000 have tried 64-8000
Max Simultaneous Tile Generation Jobs Count : have tried 1 - 1024
Tile Number hard limit : from 256-1048576

I tried setting Max Simultaneous Tile Generation Jobs Count again at run time, did not fix.

I output IsNavigationBeingLoaded every tick, while in PIE its usually true but in standalone its almost always false. Not sure if Standalone is that much more optimized or if this is a sign of the issue at hand.

If you turn on Nav Mesh while running in PIE its nicely covering everywhere you would expect.

Any ideas of other things we can try would be really appreciated.

Hey ScottBrown,

I’ve tested this to the best of my ability based on the information you’ve provided, but I haven’t seen the same behavior on my end, unfortunately.

I have a few questions/suggestions regarding your issue:

  • First, just for testing purposes, try upgrading a copy of your project to 4.15 to see if the issue is still occurring there.
  • Since you’re unable to reproduce the issue outside of the current project, it leads me to believe that it is not a bug, but some issue with the setup or level in general.
  • I recommend keeping the Nav Mesh Bounds Volume(s) in the persistent level at all times.
  • In order to take further action with this issue, we will need a test project that showcases the issue, or a method of reproducing it consistently in a clean project.

Thanks for the response!

We added the console command rebuildnavigation on map load and it seemed to help, at least gets us going for now.

We will upgrade to 4.15 here soon, just could not do it yet. I did not see anything in the release notes for 4.14 or 4.15 that would address the issue.

Our tiles are 2k x 2k in size and there are hundreds of them. Would it not be a HUGE memory consumption to have all 200+ Nav Mesh Bound Volumes loaded at once? We had started with just one giant volume for the entire map but that seemed to create issues.

Another idea would be to have a moving nav mesh that follows the player around, would that be a more optimal solution or would that actually be more expensive?

It would be amazing to be able to ask the Nav Mesh for usage details so we could tune what we are pre-allocating to more closely match what we need instead of having to guess as we do right now.

With such a large world, I’d recommend using Navigation Invokers attached to objects/characters that need the Nav Mesh as they will be able to use the invokers to generate nav mesh only where it is needed. This will greatly cut down on performance cost and shouldn’t cause any issues, even if all of your Nav Mesh Bounds Volumes are loaded in your persistent level, as if there are no invokers present, there won’t be any actual generation happening in those areas.

Let me know if you have any further questions or if this doesn’t work for you.

Thanks

We do use invokers for all of our Bots, you are right, I don’t know that it would work without them.

Are you still running into issues, or have you been able to get it working? I just wanted to clarify to make sure I don’t close out the thread if you still need help.

It was resolved for us by adding the console command rebuildnavigation to our startup.