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.
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
There's no existing public thread on this issue, so head over toAnswerHub just mention UE-59898 in the post.