Oculus Loading Splash Screens for Unreal Explained

Eric CoskyBlog Hero Image
The Oculus Rift supports an overlay system which presents images at 90 FPS while responding to head tracking regardless of the application's actual frame rate. The Unreal Engine's VR Splash Screens feature uses this feature to provide a comfortable experience while the application is busy transitioning between levels. While it is possible to make an application load new levels asynchronously, it does come at the cost of both time and complexity. More documentation on Unreal's VR Splash Screen system can be found here: https://docs.unrealengine.com/en-us/Platforms/VR/SplashScreens
Unreal includes a set of Oculus specific nodes that take advantage of a few extra features unique to the Rift. These include the ability to use multiple textures, position the splash screen texture and rotate them on all three axis at constant speeds. This provides the developer some creative options for stacking images that animate while a level is being loaded. Using these tools, it's a fairly straightforward task to present something more interesting than a static image between levels.
We've had a number of developers ask us for a complete sample of how to use the Oculus specific splash screen features, so here it is! It is a set of three levels: StartupLevel, Level1, and Level2. The StartupLevel configures four overlays which rotate independently, and after a brief delay to allow you to observe the effect, will load Level1.
The level blueprint for Level 1 simply waits one second and loads Level2. The loading splash screens will appear while Level2 is being loaded, because they have already been configured and remain ready for activation whenever a level is being loaded.
The level blueprint for Level 2 is pretty much the same as Level1's level blueprint - it just waits one second and loads Level1. Again, the loading splash screens will be visible during this transition.
The result of running the sample will be 10 seconds of the splash screens spinning for the initial startup level, then bouncing between Level1 and Level2. The loading screens will probably only be visible for a few moments on most systems because these levels are trivially small.
The LoadingLevel blueprint shows a few extra nodes which aren't connected to the execution path. They are there to point out a common source of confusion we've heard from developers. First, the Hide Splash Screen looks like it should hide the Loading Splash Screens, but it doesn't work that way as of this writing. If the graph is modified so that Hide Splash Screen is used (as shown below) instead of Hide Loading Splash Screen, the application will never actually hide the splash screens.
The important thing to understand here is that the Oculus-specific splash screen nodes need to be used together. While they are closely related to the standard Unreal splash screen nodes, they are not the same system.
The Oculus fork of the Unreal Engine samples now includes a complete project which demonstrates everything described in this article. The sample can be found here: https://github.com/Oculus-VR/UnrealEngine/tree/4.19/Samples/Oculus/SplashScreenSample
Here's a looping GIF capture which shows Oculus Loading Splash Screen sample in action:
Enjoy!
Rift
Unreal
Did you find this page helpful?
Explore more
GDC 2026 Highlights: What's Next on Meta Horizon OS
Catch up on GDC 2026: where VR is headed, what's new in Meta Horizon OS, and the tools and Store updates helping developers ship faster.
All, Apps, Design, GDC, Games, Quest, Unity, Unreal
The State of VR at GDC 2026: Building a Sustainable Future
Explore the state of VR from GDC 2026: stronger app discovery, growing Meta Quest usage, more $1M+ titles, and much more.
All, Design, Games, Hand tracking, Optimization, Quest, Unity, Unreal
Faster Builds, Smarter Discovery, and the LiveOps Playbook: What to Know After GDC Day 2
Explore Day 2 at GDC 2026: tools to speed up builds, optimize Store discovery, and learn LiveOps strategies from Gorilla Tag.
All, Apps, Design, GDC, Games, Optimization, Quest, Unity, Unreal

Get the latest updates from Meta Horizon.

Get access to highlights and announcements delivered to your inbox.