Hi everyone,
I’m having trouble displaying a loading screen when transitioning between levels in Unreal Engine 5.3. I’ve set up a simple loading screen using a UMG widget, and I’m trying to show it while a new level is loading using OpenLevel
or LoadStreamLevel
. The problem is:
-
The widget only shows after the new level has already loaded, or sometimes not at all.
-
It seems like the screen freezes while the new level loads, and the UI doesn’t have time to update or render properly.
Here’s what I’m doing:
-
Create and add the loading screen widget to the viewport.
-
Call
OpenLevel
(or sometimesUGameplayStatics::LoadStreamLevel
). -
Remove the widget after loading is complete.
I’ve tried:
-
Using
FlushRenderingCommands()
andForceGarbageCollection()
before loading. -
Using
Async Loading Screen
plugin from the Marketplace (but still having inconsistencies). -
Delaying the level load using timers, but it still feels hacky and unreliable.
-
Checking if the level streaming method is better, but I still want a hard level transition.
Has anyone successfully implemented a reliable loading screen in UE5? Is there a best practice to force the widget to render before Unreal starts loading the level? Or maybe a better approach using level streaming with a persistent level?
Any help or tips would be appreciated!
Thanks in advance.