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
Add your Splash Screen PNG under assets/vr_splash.png
Update your manifest to include the following -> <meta-data android:name="com.oculus.ossplash" android:value="true"/>
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.