Wait for everything to finish loading before starting level?


I was wondering if someone can point me in the right direction.
I have a loading screen. My level actually loads instantly. However even though the level is open performance is severely impacted as some things are still being loaded. I would assume into memory.
So i added a delay before removing the loading screen to give the level time to finish loading its assets.

However, i want to do a check of sorts. Instead of using a delay. As some systems might take longer to load everything.

There’s no way currently to do this using “Open Level” nodes, but there is with level streaming. If you convert your game over to using level streaming, you can use a node that returns whether or not a level has been loaded in.

One option you might try would be to have all major assets, especially those visible to the player at the spawn point, set a bool at the end of their OnEventBeginPlay that is checked before removing the load screen. If you have set spawn points this should be pretty easy. If you can spawn just about anywhere you may have to reach out and see what is and isn’t loaded.

I think the problem is texture streaming. Will investigate the level streaming option. If it works then awesome

My guess is if you want to have no texture popping when game starts up, it’s more like a Epic hardcore question.
I think UE4 tries to go as fast as possible for game to start with all things ready(even with low res texture), so you might need something custom to generate event where “all texture are loaded at maximum mip level at current position”.
Post a feature request on answer hub and see if that’s what people also wanted, as texture popping is a long standing “signature feature” of unreal engine.