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 – we strongly recommend using an auto-loading splash screen, created by using the Unreal Editor user interface. Do not rely on a Blueprints function to load the initial splash screen. The reason is, Blueprints functions cannot be used to display a splash screen until the the initial level is loaded sufficiently to begin processing (i.e. Event BeginPlay is fired). In fact, when the app is first loading, it is also necessary to load the entire engine and renderer. In the interim, the user will have a completely dark experience. This may even prevent your app from being accepted for publication on the Oculus Store.
There is no default loading splash screen.
The UE4 Editor provides a mechansim for setting up an auto-loading splash screen.
Previous versions of the Oculus UE4 integration used a configuration file to setup an auto-loading splash screen. This method is no longer supported.
Previous versions of the Oculus UE4 integration used a splash screen implementation that was distinct from Epic’s splash screen system. This is no longer the case. The Oculus UE4 splash screen solution works in conjunction with the Epic splash screen system.
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. 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: