Oculus Go Development
On 6/23/20 Oculus announced plans to sunset Oculus Go. Information about dates and alternatives can be found in the Oculus Go introduction.
Quest Virtual Reality Check (VRC) Guidelines
Your Quest VR app must meet or exceed these guidelines to be considered for distribution on the Oculus Store.
Quest VRC descriptions are provided to help you get started on development for apps that target Quest and Quest 2. Downloadable test plans are not available at this time.
Oculus Quest will only be available as a platform option if you have been approved as an Oculus Quest developer. For more information, see Oculus Quest Publishing Access.
VRCs are dividing into categories of evaluation such as assets that accompany your app, its performance, function, and how it handles input. Following is the current list of VRCs.
- Quest Packaging VRCs These requirements ensure that your app meets all app packaging requirements.
- Quest Audio VRCs This requirement suggest that your app support spatialized audio.
- Quest Performance VRCs These requirements ensure your app is responsive, performant, and able to render graphics at the quality expected for an Oculus Store app.
- Quest Functional VRCs These requirements ensure your app functions according to Oculus Store standards.
- Quest Security VRCs These requirements ensure your app safeguards the privacy and integrity of Oculus and customer data.
- Quest Tracking VRCs These requirements ensure that your app meets all tracking requirements.
- Quest Input VRCs These requirements ensure your app provides a user experience consistent with Oculus user interaction standards.
- Quest Asset VRCs These requirements ensure your app meets the asset and content guidelines for shipping in the Oculus Store.
|VRC.Quest.Audio.1||Apps should support 3D audio spatialization, although it is not required.|
|VRC.Quest.Performance.1||The app displays graphics in the headset at 72 frames per second.|
|VRC.Quest.Performance.2||The app must run for 45 minutes with typical usage without entering thermal throttling Power Save mode.|
|VRC.Quest.Performance.3||The app must either display head-tracked graphics in the headset within 4 seconds of launch or provide a loading indicator in VR.|
|VRC.Quest.Functional.1||App must install and run without crashes, freezes, or extended unresponsive states.|
|VRC.Quest.Functional.2||Single player apps must pause when the user removes the HMD or opens Universal Menu.|
|VRC.Quest.Functional.3||The app must not leave the user stuck at any point in the experience.|
|VRC.Quest.Functional.4||The app must not lose the user’s data.|
|VRC.Quest.Functional.5||The application must respond to the HMD’s positional tracking as well as orientation.|
|VRC.Quest.Functional.6||App must only include Quest HMDs and controllers within the title or Store assets.|
|VRC.Quest.Functional.7||If your app requires Internet connectivity for its core functionality, notify users without an active Internet connection that one is required.|
|VRC.Quest.Functional.8||The app must continue to download content if the user removes the headset.|
|VRC.Quest.Functional.9||In experiences using a Local tracking space, the user must be able to reset their forward orientation.|
|VRC.Quest.Functional.10||Headlocked menus and UI elements are generally uncomfortable for the user and should be avoided.|
|VRC.Quest.Functional.11||Users must not get disconnected from a multiplayer match if they press the Oculus button or remove their HMD.|
|VRC.Quest.Security.1||The app should perform an Oculus Platform entitlement check within 10 seconds of launch.|
|VRC.Quest.Security.2||The app must request the minimum number of permissions required to function.|
|VRC.Quest.Tracking.1||When configuring the submission metadata for your app, it must meet the requirements for either sitting, standing, or roomscale play modes.|
|VRC.Quest.Input.1||In-game menus should be activated with the menu button on the gamepad controller or the menu button on the left Oculus Touch controller.|
|VRC.Quest.Input.2||When picking up objects within the app, use the Touch controller’s grip button rather than the trigger button.|
|VRC.Quest.Input.3||In-application hands and controllers should line up with the user’s real-world counterparts in position and orientation as closely as possible.|
|VRC.Quest.Input.4||If an app is “focus aware”, it must continue rendering while the Universal Menu is up, but hide any user hands or controllers and ignore all input.|
|VRC.Quest.Input.5||For applications that support hand tracking, hands must render in the correct position and orientation, and must animate properly.|
|VRC.Quest.Input.6||For applications that support hand tracking, hands must be hidden if they are not being tracked or if tracking confidence is low.|
|VRC.Quest.Input.7||For applications that support hand tracking, the application must properly respect when input is switched between controllers and hands.|
|VRC.Quest.Input.8||For applications that support hand tracking, the system gesture is reserved, and should not trigger any other actions within the application.|
|VRC.Quest.Asset.1||Logo must be on a transparent background.|
|VRC.Quest.Asset.2||Store cover art images must have a clear logo without extraneous text, taglines, or banners.|
|VRC.Quest.Asset.3||Store cover art must not include text in the top or bottom 20% of the image.|
|VRC.Quest.Asset.4||Hero art must include the branding of the app centered in the image.|
|VRC.Quest.Asset.5||Screenshots must be representative of the app and don’t contain any additional logos, text, or iconography.|
|VRC.Quest.Asset.6||App description, screenshots, and videos must not include HMDs, controllers, or logos for other VR platforms.|
|VRC.Quest.Asset.7||Trailer must not be longer than 2 minutes.|
|VRC.Quest.Asset.8||Artwork asset text should not use a font smaller than 24 pt.|