Download

Help with NavMesh on a large world

Hello, hopefully i put this in the right sub forum.

I have a game world that is 32km by 32km put together with 4 16km by 16km levels.

i am trying to figure out navigation in my world. but i am stuck.

I have tried:

1 large nav mesh bounds covering whole world. this results in… 2.7 million nav meshes to be built. takes aum. forever. and i dont think it will ever finish building mainly because when i tried hitting the build button i immediately got:

[2020.03.09-19.33.57:667][416]LogNavigation: Error: Navmesh bounds are too large! Limiting requested tiles count (22579200) to: (1048576)
[2020.03.09-19.33.57:728][416]LogNavigation: Error: Navmesh bounds are too large! Limiting requested tiles count (22579200) to: (1048576)
[2020.03.09-20.34.47:256][416]LogNavigation: Error: RecastNavMesh-Default> Tile (-30,481:1), tile limit reached!! (1048576)
[2020.03.09-20.34.47:257][416]LogNavigation: Error: RecastNavMesh-Default> Tile (-30,481:2), tile limit reached!! (1048576)

so sweet apparently I’m 20x the limit on the bounds.

i tried switching from 1 large nav mesh to 256 of them evenly spread out. and i got the same issue.

Nav seems to build based on total area vs individual nav meshes.

so that leads me into trying run time nav mesh with invokers. i have read this is extremely expensive.

and oh by is it ever. i boot up my game world with Generate navigation only around navigation invokers.
with NO AI loaded into the map.

10x the load time. at least from 20-30 seconds to a few minutes.

it takes my level from requiring 8-9 GB of ram… to 44 GB… yes 44 GB of ram to load the game.

this is packaged as shipping. if i add in AI it don’t seem to affect the ram usage. but obviously this is not acceptable.

so i’m left asking how does other games address this hurdle?

what options do i have?

and any way to increase the tiles count.

i want to add that i found the tile limit option but it says 176 bytes per navmesh. so were talking a 4GB navmesh file. whats the repercussions of this.

Yikes… This is the kind of topic that I think would make a great case study for a game dev ‘clinic’.
You could PM Victor Lerp or watch for future Livestreams on AI / Navmesh and post the question.

Dynamic pathing / live tracing obstacle avoidance etc… Once a level is just 4k x 4km, there’s a case for abandoning the AI system.
It doesn’t work all that great anyway. You spend more time debugging it than anything. Its ok for simple behaviors / sentry patrolling.
Watch GDC talks or follow AI tutorials here (Utility AI) and you’ll realize how limited it is and that it may not be worth the investment.
I’d love to see AI systems that use a range of personality traits (leverage aggression versus fear to promote unpredictable tactics)…

hi
i have this error when i zipup my project i dont know why!
but you must use invoker for large landscapes you dont need to make navmesh on everywhere .

The simple solution is to dynamically generate navmesh.


Ad If you are using level streaming you might set “Fixed Tile Pool” to true and set the “Tile Pool Size” equivalent to the size of your navigation. and also set “Tile Size UU” equal to “Tile Pool Size” to be able for unreal to generate that specified tile size.