The site has a new content architecture. We've added the ability to select your development device to show device-specific content. Please read our blog post Oculus Developer Center Update: Device-centric Documentation Architecture for more information.
All Oculus Quest developers MUST PASS the concept review prior to gaining publishing access to the Quest Store and additional resources. Submit a concept document for review as early in your Quest application development cycle as possible. For additional information and context, please see Submitting Your App to the Oculus Quest Store.
We strongly recommend adding a loading splash screen to your Rift or mobile application. Loading splash screens are required by the Oculus Store.
A simple loading splash screen, e.g. presenting the user with a rotating texture, can be easily added to your game. You will need to specify a texture for display, either with a provided Blueprint or by using the Unreal Editor user interface. In both methods, the loading splash screen is drawn to a VR Compositor Layer, and is guaranteed to render consistently at the required minimum frame rate.
Note that a splash screen is different from a HUD that appears within a layer. A HUD can be displayed while the rest of your level is also displayed. A splash screen has a different purpose, and is displayed by itself on a black background.
A splash screen is intended to be used when your app is currently unable to render frames. This is generally because your app is loading or switching levels, or it is busy doing other things.
Splash screen is equivalent to a “loading screen” or a “loading icon”.
For the initial splash screen, which displays while the first level is loading, you should use an auto-loading splash screen, created by using the Unreal Editor user interface. It is important that you do not rely on a Blueprints function to load the initial splash screen because Blueprints functions do not display a splash screen until the level has loaded enough to begin processing (
BeginPlay is fired). Remember that when the app first loads, the engine and renderer must also load. If you use a Blueprint spash screen, the user will have a completely dark experience while these load, and this may prevent your app from being accepted for publication on the Oculus Store.
There is no default loading splash screen.
The UE4 Editor provides a mechanism for setting up an auto-loading splash screen.
Note: An auto-loading splash screen created in the UE4 Editor will not appear when you preview the app from within the UE4 Editor. This is because the initial layer is already loaded when the app is started.
The Auto Enabled checkbox enables/disables splash screen auto-loading. When auto-loading is enabled, the splash screen(s) will automatically be loaded whenever the user transitions from one level to another. When auto-loading is disabled, the splash screen(s) are never automatically loaded.
You can add multiple splash screens by calling Add Loading Splash Screen. If you enable splash screen auto-loading, all of the splash screens that you have added will be auto-loaded whenever the user transitions from one level to another. Thus, you can think of the individual splash screens as components of the actual splash screen that will be visible to the user.
For more information, see Add Loading Splash Screen. When you check the Auto Enabled checkbox, it will enable/disable the auto-loading of all splash screens that have previously been added.
To display splash screens, use the Oculus-specific Blueprints function Add Loading Splash Screen followed by the UE4-standard Show Splash Screen function. For Blueprint reference on splash screens, see Splash Screen Blueprints. The following examples show how this process works.
Displaying and Hiding an Oculus Splash Screen
In the sample below, a splash screen is displayed for 3 seconds, and then hidden. Assuming the level is loaded, it will be displayed as soon as the splash screen is hidden:
In the above example, The Oculus-specific Blueprints function Add Loading Splash Screen is used. It provides a number of features that you can use to give the splash screen more interesting.
The splash screen is hidden by using the UE4-standard Hide Splash Screen Blueprints function. Now consider how this compares with the Oculus-specific Clear Loading Splash Screen function:
The Clear Loading Splash Screens function doesn’t hide the splash screen. The Oculus-specific functions Add/Clear Loading Splash Screens add and remove the splash screens to and from memory. But clearing a splash screen from memory doesn’t stop showing the currently displayed copy of it.
However, if you attempt to show a splash screen after calling Clear Loading Splash Screens, the experience goes completely dark. This because there is no splash screen in memory to display:
Using Multiple Splash Screens for Cool Effects
One of the cool things you can do with the Oculus-specific Add/Clear Loading Splash Screen functions is to create multiple splash screen effects as desired, perhaps using varying position, scale, and rotational properties, along with multiple splash screen textures. To do this, simply uncheck Clear Before Add in the Add Loading Splash Screen function, and chain as many of these calls together as desired. Then, when you call the UE4-standard Show Splash Screen function, all of the splash screens you have loaded will be displayed: