Loading screen, loadings screens everywhere… It’s so simple to create into your Unreal Engine project. So, why don’t add one in each of your projects?

Let’s see in this quick tutorial how to add a loading screen in an existing project.


1. Understand Map, Level and World terms

First of all, we need to understand the little difference between these 3 words.

A Map can be a Level or a World. The map is the asset created and stored in your content browser.

A Level can be a world, if no other levels will be added, but generally it is a part of a world.

A World is a collection of levels that are connected to each other. If you use streaming you will put different levels together.

To summarize, our world contains one or more levels which are individually stored in a map.


Ok, thanks, but what’s the matter?


In order to create our loading screen, we need to separate our world in at least 2 levels:

  • The persistent level, which is loaded by default, containing the loading screen only.
  • The sublevel(s) containing all the content of your world (assets, behaviors, etc…)


2. Empty the persistent level

As I said, the loading screen needs to be into the persistent level. And the rest of our world in sublevel(s).

In order to do this, go to the levels window, and add a new level.


Now, migrate all your assets from persistent level to your new level. Double click on your new level to switch current level. Right click in persistent level -> Select Actors. Right click on selected actors -> Level -> Make current level …

Your game assets (potentially heavy and with a long loading time) are in a sublevel. By default this level is loaded by blueprint, so without any code, this level will never be loaded. Let’s continue our work.


3. Create the loading widget

Now we can create our loading widget. Create a new GUI widget and add some text, loading bar, etc… In order to ask the user to gently await for his game.


4. Add loading in level blueprint

Select the persistent level and edit the level blueprint.

In this level blueprint we will:

  • Create the loading widget and add it to the viewport
  • Load sublevel(s) asynchronously
  • Once loading done, remove the loading widget

And voilà! Your loading screen is set and is fully working.


5. Free template

You can download here free templates containing loading system.

We can’t add this project as free on the Unreal Marketplace so you can only download it from here: