Seamless, Proper Loading Screens! [Play Movies, Audio & Animated Widgets!]

Thanks, i am learning UMG

Yeah, should do!

Yeah that’s right, though you probably want that most of the time, especially if you’re using movies instead of loading screens :slight_smile: It will work if you are in a PIE session and type ‘OpenLevel’ into the console though, and move to a new world during a PIE session.

I’ve made it as simple as possible and explained all the steps as best as possible without being pedantic, you can pretty much copy-paste the code. I would suggest following some other basic C++ tutorials if you still aren’t confident, since this isn’t really a C++ tutorial as such.

Hi! really thanks for sharing it!
I have a question - we had a problem with cooking movies - it was working only on computer where it has been cooked. On other machines we havnt got it. And if it is taking movies not directly from content - is there any solution for this??

Thx

Thanks for the tutorial! I managed to set up a nice little custom widget to show up when a level is loading. I’m having some issues with crashes though. Have very little understanding of memory management but from what I’ve gathered, the GC picks up something it shouldn’t, and either the GC or the render thread result in a fatal error. Anyone had any similar trouble with using custom widgets for this?

edit: it’s probably not the GC thing. I get the same callstack as in here: loading screen crash 4.10 - UI - Unreal Engine Forums

Got an error ( GetMoviePlayer() not found ) . Compiling with VS2015.

Do I need to include something for the cpp?

Edit: Ah I had to include #include “MediaPlayer.h” in the cpp.

So Im a bit new to c++ … I made some functions in c++ but I still not know how to play with this system a Movie or Widget.

Hey Aleksander.

In order for movies to be included by the cooker they have to be in a ‘Movies’ folder in the content directory. No other directory will pick them up I’m afraid! Double check you have that and let me know if there’s still an issue!

Still learning C++ here as well and unfortunately cannot fill in the blanks.

I get the error "identifier “FLoadingScreenAttributes” is undefined.

Does this struct have to be declared somewhere?

Edit: Okay, just needed #include “MoviePlayer.h”

quick question: Is possible to use a FLoadingScreenAttributes and GetMoviePlayer() during a Seamless Travel + Transition Map? I can’t do it on my tests.

Thx.

Hey everyone, have updated the original Wiki article with a link to Nick Darnell’s plugin version!

Hey TheJamsh,
Just wanted to say thanks. I’ve finally got a UMG loading screen working.

Great stuff :slight_smile: Seems to be helping a lot of people!

Hi,

What if I already have a custom GameInstance but it is purely blueprint? Is it possible to convert it to a C++ class?

As a follow up, your tutorial says you’ll need to create a custom game instance class. Where do you do this in Visual Studio? Do you just right-click on your source folder and select Add Class? Pictures of this process would probably help Blueprint programmers like me.

Thanks!

How do I get the right movie path for it?

Thanks for sharing, but to be fair, that’s what required in VR (mobile VR at least) :confused:

I personally would love to see a tutorial about that - loading a small level quickly (black box with 3D widget progress indicator) with loading (streaming?) small “menu” level and main level in the background. Progress indicator would show loading progress of “menu” level.

Could you please make such tutorial ? (with no C++ involved)

VR shouldn’t be any different? Why would you need a streaming level?

It’s a requirement imposed by Oculus. Within 4 sec of app start user has to have stuff on the screen. So, either way you have to have a black box map and 3D widget. You don’t have to have “menu” level and can proceed to the main level after black box room.

You won’t be able to load main level in 4 sec. and you can’t have 3D progress indicator without 3D widget, which has to be in some kind of 3D environment. Thus, black box level with 3D widget and streaming main level is the only proper way of complying with Oculus and providing non-sickening experience to use.

The reason I brought up “menu” map into equation is that having black box room and progress indicator in VR for more than 10-20 sec is annoying and horrible. So might as well load “menu” level where player can begin interacting with VR environment, while main level is being loaded than have player stare in the blackness (or any color for that matter) until main map is loaded.

Hey Jamsh in the Plugin Version how do I open the loading screen on map loading?

Hi TheJamsh,i found the plugin didnt show loading screen every time. It Just Separated by 1 level. first level show ,2nd not,3rd show, 4 not. I Cant find the problem, I debuged it,every time the BeginLoadingScreen() was called, but noting on screen…what can i do to fix?

I installed the plugin but I’m kind of lost of where and how do I create the loading screen now.

I want a simple picture, nothing fancy.

Trying an alternate method rather than level streaming.

Thanks. I’ve learned a lot today from Your plugin! I made my own gameInstance and slate widgets loading everything what I need (widgets, textes, graphics). Everything works perfect but there is still a problem with updating my widgets. If I change value it is always updated after load. Never during loading. The same behaviour is when using Stream or just open level. ;/

I made silly solution using delay node just for updating values to make loading progress bar. I am not satisfied about this solution.

Is there any way to not freeze everything during loading?