Rift Virtual Reality Check (VRC) Guidelines
Your Rift app must meet or exceed the store guidelines to be considered for distribution on the Oculus Store. You can test your app prior to submission using the VRC Validator tool.
VRC Validator can be used to verify that your app meets most of the requirements outlined in this section. Rift Test Plan
The Rift test plan is the exact criteria we use to test your app during the technical review phase of the app submission process. It explains each requirement in detail, including steps to test and what the expected result is.
Download the Rift test plan:
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.
VRC Description VRC.PC.Asset.1 Logo must be on a transparent background. VRC.PC.Asset.2 Store cover art images must have a clear logo without extraneous text, taglines, or banners. VRC.PC.Asset.3 Store cover art must not include text in the top or bottom 20% of the image. VRC.PC.Asset.4 Hero art must include the branding of the app centered in the image. VRC.PC.Asset.5 Screenshots must be representative of the app and don’t contain any additional logos, text, or iconography. VRC.PC.Asset.6 App description, screenshots, and videos must not include HMDs, controllers, or logos for other VR platforms. VRC.PC.Asset.7 Trailer must not be longer than 2 minutes. VRC.PC.Asset.8 Artwork asset text should not use a font smaller than 24 pt. Audio Requirements
VRC Description VRC.PC.Audio.1 App must target the audio device selected in the “Audio Output in VR” setting in the Oculus app. VRC.PC.Audio.2 Apps should support 3D audio spatialization, although it is not required. Compatibility Requirements
VRC Description VRC.PC.SDK.1 The app meets all graphics and performance guidelines running on the recommended spec system specification with the specified alternative graphics card and with Asynchronous Spacewarp disabled. VRC.PC.SDK.2 C/C++ apps must be written for Oculus PC SDK version 1.8 or later. VRC.PC.SDK.3 Unity apps must be built with a supported version. VRC.PC.SDK.4 Unreal Engine apps must be built with a supported distribution. VRC.PC.SDK.5 Audiokinetic Wwise must be version 2016.1 or later. Functional Requirements
VRC Description VRC.PC.Functional.1 App must install and run without crashes, freezes, or extended unresponsive states. VRC.PC.Functional.2 The app does not launch with a Windows Firewall dialog box or a Unity graphics mode dialog box. VRC.PC.Functional.3 Single player apps must pause when the user removes the HMD or opens Oculus Dash. VRC.PC.Functional.4 The app must not lose the user’s data. VRC.PC.Functional.5 The app must not leave the user stuck at any point in the experience. VRC.PC.Functional.6 If the app supports a desktop mode, it must launch and be playable on the standard display without the use of the HMD or Oculus Touch controllers. VRC.PC.Functional.7 The application must respond to the HMD’s positional tracking as well as orientation. VRC.PC.Functional.8 App must not include non-Oculus HMDs or controllers within the title or Store assets. Input Requirements
VRC Description VRC.PC.Input.1 The app must not submit frames or accept input when the user removes the HMD or opens Oculus Dash. VRC.PC.Input.2 Single-player apps must pause while Oculus Dash is open. VRC.PC.Input.3 Selecting Reset View in Oculus Dash must reset the user’s position and orientation. VRC.PC.Input.4 Selecting Exit to Oculus Home from Oculus Dash must exit to Oculus Home. VRC.PC.Input.5 The app must map all the buttons a user needs to all the controllers that the app supports. VRC.PC.Input.6 The app must not claim Oculus Touch as a supported input device unless Touch position and orientation data facilitate player movement or manipulate the environment. VRC.PC.Input.7 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.PC.Input.8 When picking up objects within the app, use the Touch controller’s grip button rather than the trigger button. VRC.PC.Input.9 If an app is “focus aware”, it must continue rendering while Dash is up, but hide any user hands or controllers and ignore all input. VRC.PC.Input.10 In-application hands and controllers should line up with the user’s real-world counterparts in position and orientation as closely as possible. Performance Requirements
VRC Description VRC.PC.Performance.1 App should display graphics and respond to head tracking within 4 seconds of launch. VRC.PC.Performance.3 App must display graphics in the headset at 80 (Rift S) or 90 (Rift) frames per second on Nvidia 970 GPU running Windows 10. VRC.PC.Performance.5 App must display graphics in the headset at 80 (Rift S) or 90 (Rift) frames per second on AMD 290 GPU running Windows 10. VRC.PC.Performance.6 App displays graphics without significant systemic judder VRC.PC.Performance.7 App must render without convergence errors or unusual distortion. VRC.PC.Performance.8 App must render without visible z-fighting or depth conflict artifacts. VRC.PC.Performance.9 The app should render head-locked UI elements in a compositor layer to avoid judder if the app misses frames or runs with Asynchronous SpaceWarp. VRC.PC.Performance.10 The app must not synchronize animation or physics to an assumed frame rate. Security Requirements
VRC Description VRC.PC.Security.1 The app must perform an Oculus Platform entitlement check within 10 seconds of launch. VRC.PC.Security.2 The app must not contain extraneous files such as marketing assets, copies of the Oculus SDK, or libraries for other VR APIs and distribution platforms. VRC.PC.Security.3 The app must not contain debugger symbolics or files. Tracking Requirements
VRC Description VRC.PC.Tracking.1 When configuring the submission metadata for your app, it must meet the requirements for either sitting, standing, or roomscale play modes. VRC.PC.Tracking.2 When configuring the submission metadata for your app, it must meet the requirements for either front-facing or 360 tracking modes.