Your Mobile VR app must meet or exceed these guidelines to be considered for distribution on the Oculus Store.
These requirements ensure that your app remains compatible with Oculus runtime libraries and you are mindful of Oculus recommended hardware specifications.
|Hardware||The app meets all graphics and performance guidelines running on supported mobile VR devices. (more)|
|SDK||C/C++ apps must be written for Oculus Mobile SDK version 1.60 or later. (more)|
|Game Engine||Unity apps must be built with a supported version. (more)|
|Unreal Engine apps must be built with a supported distribution. (more)|
These requirements ensure your app is responsive, performant, and able to render graphics at the quality expected for an Oculus Store app.
|Performance||The app displays graphics in the headset at 60 frames per second. (more)|
|The app displays graphics without judder. (more)|
|Stability||The app runs and installs without crashing, freezing, or entering extended unresponsive states. (more)|
|Graphics||The app renders without convergence errors or unusual distortion. (more)|
|The app renders without visible z-fighting or depth conflict artifacts. (more)|
|The app must either display head-tracked graphics in the headset within 4 seconds of launch or provide a loading indicator in VR. (more)|
|Thermal||The app must use the most efficient CPU and GPU throttling level possible to avoid overheat warnings and excessive battery drain. (more)|
|The app must run for 45 minutes with typical usage without entering thermal throttling Power Save mode. (more)|
These requirements ensure your app functions according to Oculus Store standards.
|State||Single player apps must pause when the user removes the headset or opens the Universal Menu. (more)|
|The app must not submit frames or accept input when the user removes the headset or opens the Universal Menu. (more)|
|The app must not leave the user stuck at any point in the experience. (more)|
|The app must continue to download content if the user removes the headset or removes the device from headset. (more)|
|The app must reset the user’s orientation if the user selects Reorient in the Universal Menu. (more)|
|The app must reset the user’s orientation if the user removes the headset and puts it back on. (more)|
|Android Manifest||The app’s Android application manifest must conform to the Oculus Store release requirements. (more)|
|Security||The app must be digitally signed with a digital certificate and all subsequent builds must be signed with this same certificate. (more)|
|Data Integrity||The app must not lose the user's data. (more)|
These requirements ensure your app safeguards the privacy and integrity of Oculus and customer data.
|Security||The app must perform an Oculus Platform entitlement check within 10 seconds of launch and exit the app if the check fails. (more)|
|Android Manifest||The app must request the minimum number of permissions required to function. (more)|
|The app must not request permissions considered dangerous unless it cannot function without them. (more)|
These requirements ensure your app provides a user experience consistent with Oculus user interaction standards.
|Navigation||The app must open the Universal Menu if the user long-presses the back button. (more)|
|The app must go back one level in your UI if the user short-presses the back button. If already at the top level, the app must show the Return to Oculus Home quit menu. (more)|
|Input||The app must use the built-in volume control UI when the user presses the volume buttons. (more)|
|If the app requires a controller or gamepad not detected at launch, the app must notify the user of this requirement. (more)|
|If the app supports both Gear VR touchpad and Gear VR controller input, the app must let users switch between them at-will. (more)|
|The app must detect if the Gear VR Controller is set to left-hand or right-hand in the Oculus app, and it must function equally well. (more)|