Level streaming causing flickers and bad lag between levels

Hello,

My project is a VR cinematic experience that moves the users through an environment without any interaction or control. I have several levels that are all sublevels within a ROOT persistent level, that is completely empty except for a background audio file that plays throughout the whole experience to make it more seamless. Each level begins with a fade in, and ends with a fade out to smooth the transitions. I am currently using level streaming to take care of the level transitions. A section of the level blueprint is below:

So, when the project is played, it runs all the necessary console commands to enter VR mode, then it starts a Matinee sequence (offscreen to the left) which simply plays the BG music, and then it runs the level stream nodes. Since my player is not moving on their own, I am handling the level streams with delays which are timed out to the exact time that each level takes to complete (I’m sure that’s a roundabout method, so please enlighten me on a better method to use level streaming without triggers. I couldn’t find any examples online.)

I load a level, trigger a delay which is the time it takes to move through the level, then load the new level, then fire off a sequence which starts the new level’s delay and unloads the last level. It does this for several different levels.

This method has worked perfectly fine without any hiccups for months, and now for some reason between levels I get really bad lag and a glitch in which the level will finish, fade out, and then instead of staying black, the level will flash on again and wait for the new level to load, and then the new level will flash and then go black and do the fade in. I’ve included a video of this behavior below:

[- YouTube][2]

You can see the flicker glitch in the very beginning, and then after the title screen fades to black, and then again when the next level loads.

I want smooth transitions between each level so that the music initiated in the persistent level can carry on throughout the whole experience. Can someone please, please help me out with this? I read some stuff about async loading, but cannot find any details about how to actually utilize it. Is this what I need? I’m sure my method of level streaming is incorrect, but there is very little documentation on how to use it without the player physically walking on triggers.

I should also mention that in each level, I have a new camera that is loaded through Matinee. Is this perhaps caused by the engine loading the new cameras which makes it flicker? Should I only use one camera throughout? If so, how would I do this? Thanks so much for any help you can offer.

System specs:

  • Windows 10
  • Unreal 4.10
  • NVIDIA GeForce GTX 980
  • Oculus Runtime 0.8
  • Latest NVIDIA Gameworks Driver

EDIT: I’m now on 4.20 and still having this issue. Epic? Could you please shed some light on proper level transitioning without glitches?

I’ve upgraded to 4.10 and am still having this problem. The levels all load very quickly and smoothly when tested in editor, but lag a ton when running standalone. What’s going on here?

I have the exact same issue anyone know how to solve it??

Same problem here in UE4.16

I have the same problem in UE4.16.2

Same issue in 4.17.1

Same here in 4.19. While playing in editor my level transitions are smooth as butter, but standalone brings my pc and framerate to it’s knees. My best guess is it’s already stored in memory while playing in the editor, but not when running as a standalone game. I’d sure hate to go back and subdivide all my levels into even more levels to reduce the amount of data being streamed in at once, but that’s the only solution I can see in sight.