Instant Runtime-Driven Splash Screens

Oculus Developer Blog
|
Posted by Rémi Palandri, Facebook Reality Labs Software Engineer
|
May 13, 2021
|
Share
Quest

Getting people into applications as quickly as possible is important to offering a delightful experience. Game engines can take a while to initialize their rendering subsystems and their XR subsystems, both of which are needed, before a splash screen can be shown. We have been working on solutions to get splash screens up faster while maintaining high quality.

We're introducing instant runtime-driven splash screens for Quest apps with our v28 SDK release. With minor modifications to your applications, you will see significant decreases in splash screen load time. In our test app, we saw a 15x reduction in black screen time from the last Shell frame submission to the first logo launch.


How it works

The Oculus runtime will load an app’s splash image into a high-quality compositor layer and display the image as soon as the app launches with Quest’s familiar 3-dots overlay underneath. The logo will be world-locked and will snap back to center if the viewer looks too far away. The splash image (and 3-dots) will hide as soon as the app renders its first frame.

The system will automatically size and position the splash layer according to its input size to achieve peak pixel quality on Quest 2. To double the size of your logo, create a PNG with twice the resolution and you'll get your desired size. Quest 1 will use the exact same size and use layer supersampling to offset the lower display resolution.

How to add an Instant Runtime-driven Splash Screen to your app

  1. Add your Splash Screen PNG under assets/vr_splash.png

  2. Update your manifest to include the following -> <meta-data android:name="com.oculus.ossplash" android:value="true"/>

To simplify developer implementation, we have added UE4 and Unity engine integrations beginning with our v28 SDK. (Unity Documentation | Unreal Documentation | Native Documentation)

Screenshot of Unity Integration




Screenshot of UE4 Integration



Instant Runtime-driven splash screens get people into the amazing VR experiences you have created faster. We’re looking forward to seeing this enhancement across all your apps. If you have questions or feedback, let us know in the comments below or in the Developer Forums.