After being somewhat frustrated with the loading screen solutions I’ve seen people follow so far, I’ve decided to share how I handle Loading Screens in my Hovertank Game.
IMO I think this is personally the best (and most sensible) way to go about it. Current examples require all sorts of workarounds to implement such as loading into different levels, using streaming for the entire project etc - completely defeating the purpose of a loading screen in the first place. Less than 20 lines of code lets you avoid all of this.
No temporary maps or streaming level nonsense!
No additional calls, nodes or setup required, engine code automatically handles all transitions and kicks in when a map is triggered to load. All you have to do is call Open Level, or Join Session etc…
No conflicts in PIE.
Can easily play Movie Files, Audio Files & Animated widgets
No Garbage Collection / reference issues.
MoviePlayer is supported on all major platforms
Integrates seamlessly with an existing project.
There’s a very minimal amount of C++ to set this up (very minimal), and I’ve pasted full source that you can easily copy-paste into an existing project.
Nice share TheJamsh, I actually have a Blueprint equivalent – I had to do this for something I released last year requiring multiple levels / loading screens.
Its not as straight forward for obvious reasons, but achieves similar results.
I have this working and it’s great! One thing to note is that it does not seem to work in PIE - so I actually had it working long before I knew I had it working… As long as you run in standalone all is groovy. Many thanks to the author!!
I do have one question though. In the FLoadingScreenAttributes struct, it says that the WidgetLoadingScreen can be used to display a custom widget during loading. Can this be used with a UMG widget or is this a Slate widget? If it can be used with UMG can you provide info on how this is done? – Thanks, .
But i have no clue abaout C++. 8 years ago a coded in C (or LIITE-C), but i forgot all. Your WIKI is good, but i don’t know, in what files i have to put that code. Can you explain this with Little more Detail please? Thank you.