# How to make a UMG loading screen widget persist after "Open Level"?

**URL:** <https://forums.unrealengine.com/t/how-to-make-a-umg-loading-screen-widget-persist-after-open-level/432888>\
**Category:** UI\
**Tags:** unreal-engine, loading-screen, question, UMG\
**Created:** [August 31, 2018, 4:24pm UTC](https://forums.unrealengine.com/t/how-to-make-a-umg-loading-screen-widget-persist-after-open-level/432888 "2018-08-31T16:24:41Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![SVR33](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/svr33/32/906589_2.png) [@SVR33](https://forums.unrealengine.com/u/SVR33)\
**Post date:** [August 31, 2018, 4:24pm UTC](https://forums.unrealengine.com/t/how-to-make-a-umg-loading-screen-widget-persist-after-open-level/432888/1 "2018-08-31T16:24:41Z")

</div>

I’m creating a simple loading screen in UMG and I add it to viewport, then I run “Open Level” after a short delay, but it always destroys the widget as soon as the new level begins to load.

How can I make it persist until I destroy it?

I have tried creating it in the GameInstance and using Streaming Levels is not an option.

Thanks

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_3ea8e73d](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_3ea8e73d](https://forums.unrealengine.com/u/anonymous_user_3ea8e73d)\
**Post date:** [May 8, 2019, 7:17pm UTC](https://forums.unrealengine.com/t/how-to-make-a-umg-loading-screen-widget-persist-after-open-level/432888/2 "2019-05-08T19:17:21Z")

</div>

This would be great to get an answer to!

---

<div class="post-metadata">

**Author:** ![SVR33](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/svr33/32/906589_2.png) [@SVR33](https://forums.unrealengine.com/u/SVR33)\
**Post date:** [May 8, 2019, 7:21pm UTC](https://forums.unrealengine.com/t/how-to-make-a-umg-loading-screen-widget-persist-after-open-level/432888/3 "2019-05-08T19:21:14Z")

</div>

Create it within the game instance BP, which always persists!

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_3ea8e73d](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_3ea8e73d](https://forums.unrealengine.com/u/anonymous_user_3ea8e73d)\
**Post date:** [May 8, 2019, 8:57pm UTC](https://forums.unrealengine.com/t/how-to-make-a-umg-loading-screen-widget-persist-after-open-level/432888/4 "2019-05-08T20:57:40Z")

</div>

Correct and use the GetGameViewportClient()-\>AddViewportWidgetContent(MyWidget-\>TakeWidget()); to make sure it doesn’t get cleaned up when the player controller does.

Thank you for your response!

---

<div class="post-metadata">

**Author:** ![Talad](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Talad](https://forums.unrealengine.com/u/Talad)\
**Post date:** [February 15, 2021, 5:42pm UTC](https://forums.unrealengine.com/t/how-to-make-a-umg-loading-screen-widget-persist-after-open-level/432888/5 "2021-02-15T17:42:04Z")

</div>

It’s enough to create a variable in your GameInstance, even if you create the UI elsewhere, you can set that variable, so your UI will not be cleaned up during open level.

 ![329893-persistent-ui.jpg](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/7/2/27296ce20c9d733feb90ff5231b59baac1d4ad2f.jpeg)
