# Daydream App Quality Requirements - Performance and Stability

## PS-S1: App installs and runs without crashing

App installs on a Daydream-ready phone. It does not crash, force close, freeze,
or otherwise function abnormally.

## PS-P1: App loads quickly or provides feedback in
VR to the user if the app takes longer than three seconds to load

We recommend using a head-tracked VR splash screen whenever possible.
Adding sound is useful feedback to communicate that your app is loading.

Unity app developers can set a VR splah screen using
**Player Settings \> Android \> Splash Image \> Virtual Reality Splash Image**.

Your app **must not** use a static image without head tracking. Your app **must not**
use sound in place of a splash screen; this lack of feedback leads users to
infer that something is broken or stalled.

## PS-P2: App maintains high performance

The app renders at a consistently high frame rate and sustains low headset
motion-to-photon latency. Low motion-to-photon latency is achieved through
proper usage of the Google VR SDK to enable asynchronous reprojection.

Apps should not cause visible frame drops, screen tearing, or black bars on the
side of the application due to missed frames.

An example of an application which qualifies in 3DoF:

- Targets running at least 60fps (without relying on reprojection) with 2 sigma confidence over a 30 minute play session. on a reference Daydream ready phone. The reference phone for 2018 is the Google Pixel XL (2016).

An example of an application which qualifies in 6DoF head tracking (for either optional OR required):

- Targets running at least 75fps (without relying on reprojection) with 2 sigma confidence over a 30 minute play session. on a reference Daydream Standalone Headset. The reference standalone for 2018 is the Lenovo Mirage Solo.

The performance criteria specified above is not exhaustive.

## PS-P3: App does not display a thermal warning
during 30 minutes of usage

Your app **must not** hit the device's thermal limit resulting in a warning message
displayed to users during the course of a 30-minute play session.

## PS-V1: App renders without unexpected distortion
when viewed through a Daydream viewer

If you are correctly using the Google VR SDKs with a 3D engine to render your
content, this is handled for you. Be extra careful with other (pre-rendered)
assets like VR video or panoramic images, because errors can be introduced
during capture or processing.