Initial UMG project loading screen?


I’m having trouble for create an initial loading screen for my project. Without loading screen the project takes a bit for loading on ssd and can take some time if running from hdd, and this causes a black screen after launch the project. So, in order to not have a black screen where can leave people think this freezes or not working on their computer, i decided to have a simple initial loading screen.

What i have done:

  • created a blank map
  • created a blueprint class “HUD”
  • created a blueprint widget
  • change on project settings > default
    maps (i changed to this blank map)
  • change on project settings > default
    modes > maps & modes > hud class
    (used the blueprint hud class)
  • on blueprint widget i have done:
    event tick > open map (i have chose
    the map i want to load)
  • on bp class hud i have done: event
    begin play > create widget (then i
    select the loading widget i created
    on step 3) > add to viewport

Well, i’m not sure if i am doing something worng, but after the splash screen goes out the loading screen don’t show up on application frame, it stays a few seconds on a black screen then it loads the “loading screen” where it supose to load just after the splash screen goes out, also the animation icon got stuttering and the last but most important is the game map i set on “open map node” on widget just doesn’t seem to open.

Any clues?


Hi. Any events in blueprints (and blueprints itself) become operable only when engine is loaded. After BeginPlay you only can wait for textures streaming.

To create a custom loading screen pops up immediately after the splash you have two choices:

  1. Add static video to the loading video list inside project settings. This video will be played looping until engine gets ready.
  2. Create a plugin module that override the start movie video player and make a loading screen slate interface manually (UMG usually don’t wont work correctly at that time). Example of doing this you can find in the shooter game example.

Hi @c4tnt

thanks for your input, i think i will give a shot on your first idea, create a video and let it looping until the game finally loads up, this is what i’m looking for and seems simple to do, at least achieveable for me.

Just one more question, i didn’t see an option for loop the video. The engine behavior is loop this video by default if there is only one video on startup or i’m missing something?

i will try this, hope this works.

Loading loop uses this mode:

MT_LoadingLoop,			// Alternate Looped mode.  Play all of the movies in the play list and loop just the last movie until loading is finished.

so your last movie should be looped.

Hey @c4tnt thanks again, i have mixed results here

The loading screen as video must be mp4 720p 25fps? this the only way i was able to to load like i wanted, tried to load 1080p and 1080p ultrawide videos without success. The bad part of this is having low quality resolution and even i choose the higher profiles and birate. But works! i will mark this as resolved

You can try this skeleton module of loading screen I made from the Shooter example. It just takes /Game/UI/Menu/LoadingScreen.LoadingScreen image and show it while your game is loading. Unfortunately it was created for old version of engine and may require some fixups.