Hello I’m learning how to procedurally generate a level using instanced level streaming.
My question is how to check if the level instance has finished loading?
I want to make a simple loading screen, so before the level loads the game checks if the level is loaded.
Below is a snippet of the generation script, tell me if more info on the blueprint is needed I’ll post them as soon as possible.
This is what I did. I made a Macro (which is like a function but can handle delays and multiple exec outputs) which periodically checks if the level is loaded. The functions you want is “Get Streaming Level” to get a level by name, then “Is Level Loaded” to check if it’s loaded.
I hope that helps!
Polling is a good solution, as lackthereof0 has suggested. Another solution is to use the OnLevelLoaded and/or OnLevelShown events, like this:
lackthereof0, thank you so much!
This is definitely the way to go! Thanks … now I just have to figure out why this event is not firing for me.
EDIT: (never mind, I subscribed to the event after I started to load the level)
This is horrible, don’t do this.
Unfortunately, this macro cannot handle checking multiple instances of sublevel (version with instance as parameter instead of name). That’s it, you cannot hook it up to foreach and expect sane results. It will return pretty randomly (presumably after finishing one of sublevel instances).
The best way I have found is editing the delegate to support a output.