VR Loading Screen When Restarting Level

Currently, I have an experience that’s about a minute and a half long for the Consumer Rift, which will be used for demoing purposes at a physical location. When it gets to the end of the experience, the text “Restart?” appears and using gaze controls alone allows the next player to restart the experience just by looking at the text for a couple seconds. After that two seconds, I’ve got an Open Level node which basically serves the purpose of resetting the same level.

My only problem is, when the player restarts the level, they’re stuck in blackness for up to 15 seconds while it loads which causes confusion and leading some people to think it’s broken. I’d like to create a loading screen, which could just be a simple “Loading…” text floating in a black space while they wait. I can’t quite wrap my head around level streaming for my situation since I’m just loading up the same level again, or if level streaming is even the way to go. If someone could help lead me in the right direction that would fantastic. Thanks!

Simple solution: Make a “intermediate level” with the text, do the openlevel to this intermediate one and then load the real next level. this way your users will get at least something displayed when loading. Downside is that you cannot move your head/view in that intermediate level…

The other variant is level streaming as you said. You could open that intermediate level directly (thus completely leaving the old level) and then streaming the old level again.

Hope that helps!

Awesome, thanks for the reply indygoof! So my followup question would be, do you know if it’s possible to stream the persistent level? I’ve created my entire demo within a single level (the persistent level) and trying to move all of the assets to another level just leads to a huge headache in terms of the level blueprint not being copied over.

I was successfully able to load up the “Loading…” level but the Load Stream Level node doesn’t seem to do anything and it just sits there on the Loading level. Do you think it could be because it’s a persistent level? Or is there something else that I could be doing wrong?

This may get interesting; you would need to make the loading level the persistent one, and the real level a sublevel of this. As a recommendation, copy your project, and try it there :slight_smile:

I also strongly recommend reading this docs

All that level streaming stuff looks too complicated at the start, but once you got how it works, its pretty easy.


Okay, so I finally got it working! I set the Loading level as the persistent level and the main level as a streaming level and everything works flawlessly now! For anyone else that may also come across this, when you stream in your Loading level, make sure to have the Loading text, and whatever else you want in your loading scene (such as a black sphere around the player area seen in the Showdown demo), in a very different location than the rest of what will be in your persistent level. Otherwise not only will you see your loading screen, but you’ll also see your main level streaming in.

Thanks, , I really appreciate the help. Hopefully this comes in handy for someone else!

If i could at least help you “on the correct path”, consider upvoting or accepting my answer (yes, i am currently on the hunt for the “AnswerHub Sage” Forums badge :wink: )