Repeated Load Streaming Level doesn't work

Hey everyone! I’m posting here because I could not find any help regarding my issue in UE4. In short: loading a streaming level after it was unloaded previously doesn’t work. My setup is the following:

  • Have an empty persistent level that’s holding 2 streaming levels for now (a Main Menu and a Test Level)
  • On startup, I load Main Menu using Load Streaming Level node
  • On the main menu Widget, I have a start button, which then unloads Main Menu level, and loads Test Level (all using the respective streaming level nodes)
  • Now that I’m on my Test Level successfully, I can open a pause menu Widget with a “Return to menu” button. This button does the same 2-step procedure: unload Test Level, then load Main Menu.
  • The Unload and Load nodes are sequential, so the first follows the second node from “Completed” pin, though this is somewhat irrelevant

The problem appears here, where I cannot load back into my Main Menu level again. Visible after load is ticked and all that (it all works fine the first time). I used print nodes to see where the hiccup happens and it looks like the Unload and Load Streaming Level nodes are called properly, but neither are firing the “Completed” exec output after the first time. Each map is unloaded successfully beforehand, I made sure the system is cleaned up and everything leaves a confirmation message that things went successfully.

Is there a limitation to only being able to load in streaming levels once? And if so, is there no way to “dump” or “erase” they ever existed, so they can be loaded from 0 again?

One more thing, I saw one post saying this error happened with 4.18 or older versions in PIE only, but I’m on 4.22 and tried both PIE and Standalone, doesn’t work in either mode. Oh and I must use level streaming, hard-loading persistent levels is not an option in my current project.

I’d be really grateful if anyone could provide any answers! :slight_smile:

1 Like

In good dev forums fashion, after about an hour of posting this I found the answer, and just as much in usual fashion it was an oversight from a totally different area.

My in-game pause menu used a Set Game Paused node to freeze the game in the background, but unlike my “Resume” button, my “Return to menu” button didn’t unpause the game afterwards and attempted to change levels while the whole streaming (and game) pipeline was on halt.

Well, just thought to throw the solution in here since I found solutions in self-solved posts in the past, so maybe this could help someone some day!

1 Like

Thank you so much! I tried to solve the same problem for day now, and I couldnt figure out why it doesnt work. You helped me out tremendously!