Level Streaming problems and other alternatives?

Hello, since the start of my project (UE4.9) I’ve been using streaming levels (manually loaded through code, not using unreals streaming volumes).
I initially just loaded new Levels normally, but that locked up the editor during the loading and took a long time. I found level streaming to be very fast and asynchronous.

(How it currently looks)

Years later and the game is very far into development but there’s a TON of problems thanks to the streaming levels:

  • Splines randomly do not generate collision in cooked versions. Some have collision while exact duplicates do not, it’s random.
  • Streaming levels do not remember Navmeshes, and thus it needs to be dynamic and regenerated every time a level is loaded.
  • Navmesh generation is very slow and makes all audio delayed by 2-3 seconds which is extremely jarring
  • Navmesh generation also delays landscape grass. So you load into a map with an empty landscape, and grass slowly loads in 1 small section every 5-10 seconds.

If the Navmesh didn’t dynamically regenerate itself every time it would solve all my issues.
How do you guys manage load screens while using navmeshes?

I’m showing the game at Gamescom next month and EGX right after, our game currently looks/sounds horrible with the above problems.

If i recall it correctly i used nav meshes only in the root level.

But if I recall that doesn’t work because the levels aren’t visible most of the time?

Edit: @unit23 you beautiful man/woman, it works!!
Back when I first implemented it that didn’t work and the levels had no navmesh if it was in the persistent world, but I guess somewhere between then and now it was fixed.
Thanks for pointing me back to that direction, everything is all good once again <3

Nice!

Btw game booth gamescom at DuckDuckGo

Oops, I was talking about our game looking bad with the problems, not gamescom lol. Fixed my original post for clarity.