It is believed that If Should Block On Load is TRUE, the entire game should freeze up until the entire level is loaded. Then If Should Block On Load is FALSE, the game continues to play while the level slowly loads in around the player.

There's a workaround - call Flush Level Streaming every time you want a blocking load - but that's not ideal.

The blocking load functionality is ALSO broken when using Level Streaming Volumes, so it's not the blueprint node. You can set a Level Streaming Volume to block on load and it won't, the async method is always used.

Steps to Reproduce

1. Open the Third Person Example Template or any other template
2. Create a level, call it CubeLevel, with a bunch of static meshes in it
3. In another level, PersistentLevel, add CubeLevel as a sublevel through the Levels Browser (not using world composition)
4. In the PersistentLevel level blueprint, use the "Load Stream Level" node on BeginPlay to stream in CubeLevel. Tick the "Should Block On Load" parameter bool.


1. Download Repro Project here: [Link Removed]
2. Press Play

Results: The actual result is that CubeLevel streams in asynchonously - you can still run around while you watch CubeLevel load in.

Expected: The expected result is that the game thread stops until CubeLevel is fully loaded

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-59898 in the post.

Login to Vote

Affects Versions4.
Target Fix4.20
Fix Commit4119857
Main Commit4124555
Release Commit4119857
CreatedJun 4, 2018
ResolvedJun 8, 2018
UpdatedJul 26, 2018