# Create a Loading Screen While Level Loads

**URL:** <https://forums.unrealengine.com/t/create-a-loading-screen-while-level-loads/342675>\
**Category:** Programming & Scripting\
**Tags:** unreal-engine\
**Created:** [December 29, 2015, 11:02pm UTC](https://forums.unrealengine.com/t/create-a-loading-screen-while-level-loads/342675 "2015-12-29T23:02:54Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![anonymous\_user\_4615a87e1](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_4615a87e1](https://forums.unrealengine.com/u/anonymous_user_4615a87e1)\
**Post date:** [December 29, 2015, 11:02pm UTC](https://forums.unrealengine.com/t/create-a-loading-screen-while-level-loads/342675/1 "2015-12-29T23:02:54Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Jacky](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/jacky/32/918690_2.png) [@Jacky](https://forums.unrealengine.com/u/Jacky)\
**Post date:** [December 29, 2015, 11:05pm UTC](https://forums.unrealengine.com/t/create-a-loading-screen-while-level-loads/342675/2 "2015-12-29T23:05:38Z")

</div>

Take a look at this: [Seamless, Proper Loading Screens! [Play Movies, Audio & Animated Widgets!] - Programming & Scripting - Unreal Engine Forums](https://forums.unrealengine.com/showthread.php?95494-Seamless-Proper-Loading-Screens!-Play-Movies-Audio-amp-Animated-Widgets)!

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_4615a87e1](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_4615a87e1](https://forums.unrealengine.com/u/anonymous_user_4615a87e1)\
**Post date:** [December 29, 2015, 11:14pm UTC](https://forums.unrealengine.com/t/create-a-loading-screen-while-level-loads/342675/3 "2015-12-29T23:14:04Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![PeterLNewton](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@PeterLNewton](https://forums.unrealengine.com/u/PeterLNewton)\
**Post date:** [December 30, 2015, 12:43am UTC](https://forums.unrealengine.com/t/create-a-loading-screen-while-level-loads/342675/4 "2015-12-30T00:43:44Z")

</div>

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.

> **[A new, community-hosted Unreal Engine Wiki](https://forums.unrealengine.com/t/a-new-community-hosted-unreal-engine-wiki/141494)**
>
> After over a year in maintenance mode, the official Unreal Engine Wiki is now permanently offline. These resources now live on a new community-run Unreal Engine Community Wiki — ue4community.wiki! You will be able to find content from the official...

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

---

<div class="post-metadata">

**Author:** ![lostwoods91](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@lostwoods91](https://forums.unrealengine.com/u/lostwoods91)\
**Post date:** [September 18, 2018, 8:03am UTC](https://forums.unrealengine.com/t/create-a-loading-screen-while-level-loads/342675/5 "2018-09-18T08:03:18Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![ImZeperoni](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@ImZeperoni](https://forums.unrealengine.com/u/ImZeperoni)\
**Post date:** [November 21, 2020, 9:04pm UTC](https://forums.unrealengine.com/t/create-a-loading-screen-while-level-loads/342675/6 "2020-11-21T21:04:08Z")

</div>

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](https://ue4community.wiki/legacy/loading-screen-243mzpq1)

---

<div class="post-metadata">

**Author:** ![Handsome1989](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Handsome1989](https://forums.unrealengine.com/u/Handsome1989)\
**Post date:** [November 21, 2020, 11:19pm UTC](https://forums.unrealengine.com/t/create-a-loading-screen-while-level-loads/342675/7 "2020-11-21T23:19:21Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![ImZeperoni](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@ImZeperoni](https://forums.unrealengine.com/u/ImZeperoni)\
**Post date:** [November 21, 2020, 11:29pm UTC](https://forums.unrealengine.com/t/create-a-loading-screen-while-level-loads/342675/8 "2020-11-21T23:29:48Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Vitor9999barros](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Vitor9999barros](https://forums.unrealengine.com/u/Vitor9999barros)\
**Post date:** [May 24, 2021, 10:18am UTC](https://forums.unrealengine.com/t/create-a-loading-screen-while-level-loads/342675/9 "2021-05-24T10:18:38Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![MarkEntingh](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/markentingh/32/984569_2.png) [@MarkEntingh](https://forums.unrealengine.com/u/MarkEntingh)\
**Post date:** [November 1, 2024, 5:31am UTC](https://forums.unrealengine.com/t/create-a-loading-screen-while-level-loads/342675/10 "2024-11-01T05:31:10Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![user\_e7b7d57b667aa039f0e52883051901956a155e229891d2f5286dce](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@user\_e7b7d57b667aa039f0e52883051901956a155e229891d2f5286dce](https://forums.unrealengine.com/u/user_e7b7d57b667aa039f0e52883051901956a155e229891d2f5286dce)\
**Post date:** [September 16, 2025, 9:43am UTC](https://forums.unrealengine.com/t/create-a-loading-screen-while-level-loads/342675/11 "2025-09-16T09:43:27Z")

</div>

You can use Easy Loading Screen Plugin，You only need to call one function, usually using → “Open Level With UMG (By Object Reference)”  
Support display of percentage

> **[Easy Loading Screen](https://www.fab.com/zh-cn/listings/787552dd-d010-4845-8ab4-4c8bf5b1ce3c)**
>
> This plugin can show the loading screen and percentages when opening level.You only need to call one function, usually using -\> “Open Level With UMG (By Object Reference)”You don't need to configure anything.Support for opening server...

[![](https://d3kjluh73b9h9o.cloudfront.net/original/4X/0/9/f/09f3227ff4aa25970b454a20a790ee66d49fab16.jpeg "UE4 / UE5 Easy Loading Screen Plugin in Fab") ](https://www.youtube.com/watch?v=lMHoNiXtcaQ)
