Create a Loading Screen While Level Loads

So I am currently developing a level for my game which is loaded from the main menu which is on a separate level, Right now when I click the button it can take up to 5 seconds to load the level completed and until then the user is just stuck staring at the main menu.

I know its not much but I was wondering is there anyway to build in a REAL loading level (Not just a UMG widget that pops up with a 2 second delay or whatever)

I mean a real one that stays up until the level is ready

I have looked around and found tutorials transferring between levels but none going from a main menu to the level itself

Any help you guys can offer would be great

1 Like

Take a look at this: Seamless, Proper Loading Screens! [Play Movies, Audio & Animated Widgets!] - Programming & Scripting - Unreal Engine Forums!

Thanks for sharing this, however I have very little skill when it comes to C++ and have been building the project using blueprints etc, but thanks anyway

Hi Jamiex304,

Depending if your menu level is interactive. Such as if it has actors which are used as menu props. Then you want to be able to unload that level, and load another. Well! To do this is not entirely crazy.

You do this with Level Streaming. The way level streaming works is by having one persistent level, and other levels which you stream in at even given moment. So this persistent level will be the the “Transition” level. All it is responsible for is loading, and unloading levels.

There is a tutorial on level streaming here.

So what you essentially do is on loading the persistent Transition level first. Then the persistent level is your constant state. Actors in this level will always be active, allowing your full control while other levels are interchanged. Next, you load your menu level. Then the player does whatever, and tells the menu it wants to load Deathmatch. Menu level now communicates to transition level, open Deathmatch. Now put up some video animations, and keep the main menu up. Keep in mind – while Deathmatch is streamed into the Transition level. Everything on the menu is still going. You can hide it or update it after Deathmatch is finished. Then jump in Deathmatch, unload the Menu. Done!

Doing it that way, you never once pause the state of the game preventing any unwanted waiting or unresponsiveness.

Best,

Peter

1 Like

doing this will prevent you to change game mode, doesn’t it?

For future reference, you don’t need to do transition levels or persistent level with streaming, you can add a loading screen via game instance in C++ (easy to do)

https://ue4community.wiki/legacy/loading-screen-243mzpq1

In my game i made a separate level just for loading screen and loading screen level i load any level i want…
By loading streaming level

That works fine if you don’t want to have any movie play synchronously, ie no stutter, or if you don’t want UI that has no stutter. You also are then limited to one gamemode, playerstate etc, which is very limiting and not possible for certain situations

who i’m can do cast to my horrorengine character put in target set loading not working please help me!

Doesn’t this require all levels to be in memory when the menu is first loaded?