Why isn't the Load Stream Level node working?

I’m trying to initialize one of my game’s logic controllers by loading, then unloading every streamed level once when the game starts by running the Load/Unload Stream Level nodes in the persistent level’s BeginPlay. However, at present neither node changes whether or not a level gets loaded in. I’ve verified that the FName I’m giving the load node matches the level I’m trying to stream in, is there anything obvious I should be doing to debug this?

1 Like

Small thing : Did you put the streaming method to Blueprint?

51557-changestreamingmethod.png

1 Like

Good thought, I did… I suspect what’s happening is that it doesn’t recognize the FName I’m handing it, as running Open Level with the same name crashes the game, but I’m not sure what it wants if not the case-accurate version of the name that’s in the level window.

1 Like

I’ve had weird issues where one level wouldn’t get loaded at all, even with the right name and everything. I tried a lot of things. In the end, changing the name of the level made it work. I’m still not sure why.

It happened again suddenly with another level, I changed its name too and that fixed it. I was even able to change the first level to the original name and it still worked. I really have no idea why this happened. It feels like Unreal doesn’t like that precise name at that precise moment.

2 Likes

Hmm, it still doesn’t work, but I’ll chock it up to unreal weirdness- thank you very much for the suggestions :slight_smile:

No problem! :slight_smile:

Having the same problem. Did you find any solution to it?

The persistent level should always be loaded which is obvious but the the level that you want to start with should be checked as always loaded from the streaming method option in the levels tab. don’t try to load it using a blueprint. as Unreal doesn’t like loading a level via BP while another one is loading (Which in this case is the persistent level).

Hope this helps :slight_smile:

Also make sure the game isn’t paused - loadstream, delay, any node that takes time won’t run if you’ve paused the game to popup a menu

2 Likes

is anyone else getting this I cannot for the life of me figure out why this isnt working

But if it’s set to always loaded then surely I can’t unload it? Which is what I’m trying to do, but it’s not unloading. The tick event of the level blueprint is still being fired, along with all of the other objects and UI elements still on screen.

Hate to revive an old thread like this but after pulling my hair out with this exact error, I found a solution worth sharing.

Rename the level, then ‘remove selected’ from the Levels tab and then re-add the level back in. I also ran ‘Fix Redirectors’ on the entire project. Just renaming it wasn’t enough, for me in 4.27.

1 Like

Experiencing the same issue in UE 5.0. Happens in built game (shipping build). Tried loading levels both by name and by asset reference. Regardless of naming, they simply refuse to load.

If anyone finds this and still needs help, I had this problem and couldn’t find a solution. I checked Unreal documentation and found this under ‘load level instance’
Level Name:
specifying short name like MyMapName will force very slow search on disk

Sure enough, when I give the path of the level I want to stream, it works perfectly.

1 Like

I had a similar problem and I solved it, I’m telling you my case in case anyone has the same problem as me.

I start the game from the main menu and enter the game. I simply reached the main menu from the pause menu, clicked on newgame again, and tried to reload a level in the level streaming by unload and load.

However, this did not turn out well. My level is not loaded or my character is loaded 2 times etc.

My problem was that the game was paused when I tried to access it from the pause menu. When I wanted to load the new level.

I simply added unpause to the beginning and it was solved.

1 Like

I have been reading through threads all morning trying to figure this out and this was it. Thanks heaps for this suggestion. Its always the simple solutions that are so hard to find.

My steps to LoadStreamLevel (by Name)

  • Step 1: change streaming method to Blueprint: menu Window->Lelels->Right click on a Level that you want->Change Streaming Method->Blueprint, then save it
  • Step 2: Add the level you want to List Maps Include when packaging: menu Edit->Project Settings → type “List of maps to include” in the search box ->click Plus button->click “…” button->select the level you want, then copy this text (important), close Project Settings
  • Step 3: Paste the text copied to the Level Name of the LoadStreamLevel (by Name) function
    Hope this helps!