The Quest VRC guidelines are provided to help you build high quality apps for Oculus Quest and Quest 2. Apps distributed on the Oculus Quest Store and App Lab must meet certain guidelines below.
Oculus Quest Store is only available as a distribution avenue if you have been approved as an Oculus Quest developer.
VRCs are divided into categories of evaluation such as assets that accompany your app, its performance, function, and how it handles input. While we present the VRCs in the form of a checklist, your focus should be on the user experience of your app and not just to check off a box.
A check mark (✓) in the App Lab or Quest Store column indicates that the VRC is required for that distribution method. A plus sign (+) in a column indicates the VRC is a recommendation. We encourage you to develop your apps to meet the recommended guidelines to deliver value to your audience.
Downloadable test plans are not available at this time.
These VRCs ensure that your app meets all app packaging requirements.
✓ is a required VRC.
+ is a recommended VRC.
VRC | Description | App Lab | Quest Store |
---|---|---|---|
VRC.Quest.Packaging.1 | The application manifest must conform with manifest requirements. | ✓ | ✓ |
VRC.Quest.Packaging.2 | You must sign your app with APK signature scheme v2. | ✓ | ✓ |
VRC.Quest.Packaging.3 | Your app must not require Android features not supported on Quest. | ✓ | ✓ |
VRC.Quest.Packaging.4 | You must use a supported SDK and engine version. | ✓ | ✓ |
VRC.Quest.Packaging.5 | APK file size must be less than 1 GB. OBB files must be less than 4 GB. | ✓ | ✓ |
VRC.Quest.Packaging.6 | All Quest applications must be submitted as 64-bit binaries. | ✓ | ✓ |
This VRC suggests that your app support spatialized audio.
✓ is a required VRC.
+ is a recommended VRC.
VRC | Description | App Lab | Quest Store |
---|---|---|---|
VRC.Quest.Audio.1 | Apps should support 3D audio spatialization, although it is not required. | + | + |
These VRCs ensure your app is responsive, performant, and able to render graphics at the quality expected for an Oculus Quest app.
✓ is a required VRC.
+ is a recommended VRC.
VRC | Description | App Lab | Quest Store |
---|---|---|---|
VRC.Quest.Performance.1 | The app must run at the specified refresh rates. | ✓ | ✓ |
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. | ✓ | ✓ |
These VRCs ensure your app functions according to Oculus standards.
✓ is a required VRC.
+ is a recommended VRC.
VRC | Description | App Lab | Quest Store |
---|---|---|---|
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.Functional.12 | Apps must run correctly and with full functionality for multiple entitled users on the headset. | ✓ | ✓ |
These VRCs ensure your app protects the privacy and integrity of customer data.
✓ is a required VRC.
+ is a recommended VRC.
VRC | Description | App Lab | Quest Store |
---|---|---|---|
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. | ✓ | ✓ |
These VRCs ensure that your app meets all tracking requirements.
✓ is a required VRC.
+ is a recommended VRC.
VRC | Description | App Lab | Quest Store |
---|---|---|---|
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. | ✓ | ✓ |
These VRCs ensure your app provides a user experience consistent with Oculus user interaction standards.
✓ is a required VRC.
+ is a recommended VRC.
VRC | Description | App Lab | Quest Store |
---|---|---|---|
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 | Apps 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. | ✓ | ✓ |
These VRCs ensure your app meets the asset and content guidelines for shipping on Oculus.
✓ is a required VRC.
+ is a recommended VRC.
VRC | Description | App Lab | Quest Store |
---|---|---|---|
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. | ✓ | ✓ |
These recommended VRCs ensure your app is accessible to and can accommodate a variety of users.
✓ is a required VRC.
+ is a recommended VRC.
VRC | Description | App Lab | Quest Store |
---|---|---|---|
VRC.Quest.Accessibility.1 | The app should be playable without audio. | + | + |
VRC.Quest.Accessibility.2 | Text and in-app controls and elements necessary for app progression should be clearly legible. | + | + |
VRC.Quest.Accessibility.3 | The app should provide clarity and direction to the user through a combination of visual, audio, and/or haptic feedback when possible. | + | + |
VRC.Quest.Accessibility.4 | The app should provide an option to be played with one hand and/or controller. | + | + |
VRC.Quest.Accessibility.5 | The app should enable people to edit their display settings such as brightness and contrast to accommodate their visual needs. | + | + |
VRC.Quest.Accessibility.6 | The app should either provide color blindness options, or use other techniques such as combining color and pattern for easy visual distinction. | + | + |
VRC.Quest.Accessibility.7 | The app should provide the user with the option to rotate their view without physically moving their head/neck. | + | + |
VRC.Quest.Accessibility.8 | The app should support multiple locomotion styles when possible. | + | + |
VRC.Quest.Accessibility.9 | Applications that can be used in sitting or standing mode should provide a setting to enable users to perform all interactions and access information from a fixed position. | + | + |
These VRCs ensure your app can provide a comfortable streaming experience.
✓ is a required VRC.
+ is a recommended VRC.
VRC | Description | App Lab | Quest Store |
---|---|---|---|
VRC.Quest.Streaming.1 | Applications that stream interactive, immersive VR content must ensure that positional tracking responds consistently at the refresh rate of the headset, regardless of the effective frame rate of the streamed application. | + | + |
VRC.Quest.Streaming.2 | Applications that stream interactive, immersive VR content may only do so from a local PC that the customer has physical access to. | ✓ | ✓ |