Level Streaming "Should Block On Load" Does Not Work

This has been the case for a while, but I think the other questions for it have been marked “solved but not really”, and I have a repro project now.

The level streaming system goes back to at least UE3, where I used it a lot. The intended functionality of the “Should Block On Load” parameter of the “Load Stream Level” node is to hitch the main thread until the load is complete when it processes the level streaming next rather than doing it asynchronously.

If Should Block On Load is TRUE, the entire game should freeze up until the entire level is loaded (which will take less time because it’s basically all we’re doing). (pretty sure this is what happens if you press caps lock on the load screen in Xcom 2!)

If Should Block On Load is FALSE, the game continues to play while the level slowly loads in around the player - sometimes, but not always, what you want. And that’s the only result you can get right now with the Level Stream node.

There’s a workaround - call Flush Level Streaming every time you want a blocking load - but that’s not ideal, and currently has problems of its own in some cases:

Here’s a repro project:

http://impromptugames.com/pasta/LevelStreamingFailRepro4032018.7z

This is a show-stopper for multiple projects I’m working on at the moment.

1 Like

If it helps:
-this behaviour is the same in PIE and in packaged builds
-level streaming volumes set to Blocking Load have the same issue

I have this as an issue too. Does not block in streaming levels. There are workarounds - at least for us, try keeping some proxy mesh in the persistant, to then be replaced by the streaming level. Until epic notices or fixes this, it reduces the jarring visual effect . Ie less gaping holes. Plus use lots of ‘loading’ but not show visually, and use them quite a while in advance. ie tuning your level with loading but not displaying level stream volumes timed to player move speeds. It works but its a pain

Still not fixed on 4.22.2