How to handle / create Loading Screen in VR?

How you have handled this? I have a project where you are in menu that is fully 3D (we are in VR after all). There are few buttons which will change player to different level. There are some textures to be loaded so there should maybe be somekind of loading screen to make all go smoothly.

What i tried to do is create a map that has a sub-level. In persistent level i would create player controller. Idea was that player could just fly around until the sub-level is loaded, after the load player would be teleported to specific spawn point. It ain’t working so well. When level is loaded and player is spawned to persistent level the game will run Veeery slowly because the sub-level is loading in background.

All tutorials i see are somekind of widged that is spawned in screen while the sub-level loads behind it, but that is not working in VR. It would be preferred for player to be able to look and move around while loading happens.

Any idea how to make something like that?

TLDR; Trying to create a loading screen where player can move while waiting the main level to be loaded behind scenes (level-streaming).

Thanks!

I have the same problem. I doubt low fps while loading stream level can be avoided. Don’t have CV1 yet, but there was info that for large games already published in Oculus Home loading takes very long time. So probably in this games they load all sub-levels at game start. We have at least 8gb RAM after all.

We load our player into another level with a sphere around the menu so it’s completely dark. Seems to work well and no one has had a problem with being put in another level.

Anyone has implementation better than completely dark?
I tried to use MoviePlayer with Widget for the loading screen, but the problem is that left eye can only see left part of the widget, and right eye vice versa.
For example I make a throbber at the center of the screen, and it is showing in half/half.

I think I can try to make a widget that fills the whole screen with color, and the color will change overtime, so that can be a loading effect, but I don’t know how to do it in C++.
(Since MoviePlayer can only be used in C++)

I’m using 4.12 preview 3.

Creating Escape Velocity for Samsung Gear VR: A Postmortem - Unreal Engine look into this… might help… kinda a cure all for recuring question.

I guess this isn’t the answer you’re looking for but I find it so much easier to just do options and select saves and stuff like that in non-VR, so what I do is I start the game non VR, let the player do their settings, allow them to load up their game in non VR, then I load the level and it’ll tell them “put your headset on once/while the level loads”, then they’ll be surrounded by a black sphere that says press X to start.

I understand what you’re trying to do with level streaming, sorry I can’t help with that, but if you can’t get that to work this might be another idea. I find it works really well for my taste, and a few people I let try a demo said they like this method. Personally I hate games that start in VR and you have to do the options in VR and it’s just frustrating, but that might be a personal opinion.