Common VRC failures
Updated: Sep 19, 2024
It’s important that your app doesn’t contain any technical issues that would cause discomfort to your users, or negatively impact their user experience. VRCs help ensure this by providing a framework that will show how your app fits Meta’s standards for your audience. To ensure the best possible experience for your users, you should thoroughly test your app against each of the VRCs before uploading it for review.
Note
When developing your app, your focus should be on the user experience, not simply to check off a box for each VRC. Focus on ensuring your app delivers the maximum possible value to your audience, whereas the VRCs only show the minimum acceptable level the team is looking for. For more information about the specific VRCs, see the [Quest VRC Guidelines](/resources/publish-quest-req/). Some of the more commonly failed VRCs include the following:
For Meta Quest devices:
- VRC.Quest.Functional.2 – Pause requirement: single player apps must pause when the user removes the headset or opens the Universal Menu.
- VRC.Quest.Functional.7 – Internet notification: apps requiring internet connectivity for core functionality must notify users without an active Internet connection that one is required.
For Link PC-VR devices:
- VRC.PC.Functional.3 – Pause requirement: single player apps must pause when the user removes the headset or opens the Universal Menu.
For Meta Quest devices:
- VRC.Quest.Input.2 – Grabbing with grip vs trigger: when picking up objects within the app, use the Touch Controller’s grip button rather than the trigger button.
- VRC.Quest.Input.4 – Focus aware with Universal Menu or Dash: if an app is “focus aware” must continue rendering while the Universal Menu is displayed, but hide any user hands or controllers, and ignore all input.
For Link PC-VR devices:
- VRC.PC.Input.1 - When the headset is off, do not send commands: the app must not submit frames or accept input when the user removes the headset or opens Oculus Dash.
- VRC.PC.Input.8 – Grabbing with grip vs trigger: when picking up objects within the app, use the Touch Controller’s grip button rather than the trigger button.
- VRC.PC.Input.9 – Focus aware with Universal Menu or Dash: an app that is “focus aware” must continue rendering while the Universal Menu is displayed, but hide any user hands or controllers, and ignore all input.
For Meta Quest devices:
- VRC.Quest.Security.1 – Entitlement check: the app must perform a Platform Entitlement check within 10 seconds of launch.
- VRC.Quest.Security.2 – Permission check: the app must request the minimum number of permissions required to function.
For Link PC-VR devices:
- VRC.PC.Security.1 – Entitlement check: the app must perform a Platform Entitlement check within 10 seconds of launch.
For Meta Quest devices:
- VRC.Quest.Performance.1 – Required frame rate: the app must display graphics in the Meta Quest headset at 72 frames per second.
For Link PC-VR devices:
- VRC.PC.Performance.3 and VRC.PC.Performance.5 – Required frame rate: the app must display graphics in the headset at 90 frames per second (Rift), or 80 frames per second (Rift S) on Nvidia 970 GPU (PC VRC 3) and AMD 290 GPU (PC VRC 5) running Windows 10.
Note: Apps must meet these requirements on boot, by default. It must function as intended on a recommended spec PC as defined by Meta without any modifications to in-app settings.
- VRC.PC.Performance.7 - Convergence errors: the app must render without convergence errors or unusual distortion.
For Meta Quest devices:
- VRC.Quest.Tracking.1 – Play mode: when the submission metadata is configured, your app must meet the requirements for either sitting, standing, or roomscale play modes.
For Link PC-VR devices:
VRC.PC.Tracking.1 –
Play mode: when the submission metadata is configured, your app must meet the requirements for either sitting, standing, or roomscale play modes.
Note: This includes the expected UX for each mode, for example:
- Sitting: No action requires you to stand or reach down to the ground.
- Standing: You are able to interact with all game elements while standing, turning around, or reaching.
- Roomscale: The app must be completely usable within a 6.5’ x 6.5’ play area
- VRC.Quest.Input.6 – Hands are hidden when not being tracked: apps that support hand tracking must hide hands if tracking confidence is low or if they are not being tracked.
- VRC.Quest.Input.7 – Input selection: apps that support hand tracking must properly respect when input is switched between controllers and hands.
- VRC.Quest.Input.8 – System gesture: for apps that support hand tracking, the system gesture is reserved, and should not trigger any other actions within the app.