Pre-submission checklist for publishing on the Meta Horizon Store (Meta Quest). Steps are sourced directly from the official Meta Virtual Reality Check (VRC) guidelines at developers.meta.com. Requirements are marked Required (✓) or Recommended (+). All Required items must pass before a build is accepted for store distribution.
Meta Horizon Store — Virtual Reality Check (VRC) Guidelines (developers.meta.com)Packaging (All Required)
Build must meet all packaging requirements before it can be submitted to the Horizon Store.
VRC.Quest.Packaging.1 ✓ · Application manifest conforms to release build manifest requirements
~5m
VRC.Quest.Packaging.2 ✓ · APK is signed with APK signature scheme v2
~5m
VRC.Quest.Packaging.3 ✓ · App does not require Android features unsupported on Quest hardware
~5m
VRC.Quest.Packaging.4 ✓ · Supported SDK and engine version used — check Meta's supported versions list
~5m
VRC.Quest.Packaging.5 ✓ · APK file size is under 1 GB; OBB files are under 4 GB each
~3m
VRC.Quest.Packaging.6 ✓ · App binary is 64-bit
~3m
Performance
VRC.Quest.Performance.1 ✓ · App runs at the target refresh rate specified in submission metadata
~10m
VRC.Quest.Performance.3 ✓ · Head-tracked graphics visible within 4 seconds of launch, or a VR loading indicator is shown during that window
~5m
VRC.Quest.Performance.4 + · App maintains at least 85% render scaling for the majority of the experience (recommended)
~10m
Functional (All Required unless noted)
VRC.Quest.Functional.1 ✓ · App installs and runs without crashes, freezes, or extended unresponsive states
~10m
VRC.Quest.Functional.2 ✓ · Single-player app pauses correctly when Horizon OS requests a pause
~5m
VRC.Quest.Functional.3 ✓ · App does not leave the user stuck at any point in the experience
~10m
VRC.Quest.Functional.4 ✓ · App does not lose user data under any tested scenario
~5m
VRC.Quest.Functional.5 ✓ · App correctly responds to headset positional tracking and orientation at all times
~5m
VRC.Quest.Functional.6 ✓ · Only Meta Quest headsets and controllers appear in title and store assets — no other VR platform hardware shown
~3m
VRC.Quest.Functional.7 + · If internet is required for core functionality, offline users are notified clearly (recommended)
~5m
VRC.Quest.Functional.9 ✓ · In experiences using Local tracking space, users can reset their forward orientation
~5m
VRC.Quest.Functional.10 + · No headlocked menus or UI elements — these cause discomfort (recommended)
~5m
VRC.Quest.Functional.12 ✓ · App runs correctly with full functionality for multiple entitled users on the same headset
~10m
VRC.Quest.Functional.13 + · App defaults to the user's configured language, falling back to English (recommended)
~5m
VRC.Quest.Functional.14 ✓ · Apps supporting passthrough show passthrough loading screens correctly
~5m
Security
VRC.Quest.Security.1 + · Platform entitlement check performed within 10 seconds of launch (recommended)
~5m
VRC.Quest.Security.2 ✓ · App requests only the minimum permissions required to function — no unsupported permissions included
~5m
Tracking & Input (All Required unless noted)
VRC.Quest.Tracking.1 ✓ · Submission metadata correctly specifies supported play modes — sitting, standing, or roomscale
~5m
VRC.Quest.Tracking.2 ✓ · Submission metadata correctly specifies supported input modes
~5m
VRC.Quest.Input.1 + · In-game menus activated via menu button on gamepad or left Touch controller (recommended)
~3m
VRC.Quest.Input.2 + · Grip button used for picking up objects, not the trigger (recommended)
~3m
VRC.Quest.Input.3 + · In-app hands and controllers align with user's real-world counterparts in position and orientation (recommended)
~5m
VRC.Quest.Input.4 ✓ · App is focus-aware — continues rendering when losing focus, hides hands/controllers, and ignores input
~5m
VRC.Quest.Input.5 + · Hand-tracking apps render hands in correct position and orientation with appropriate animation (recommended)
~5m
VRC.Quest.Input.7 ✓ · App correctly handles switching between controller and hand tracking
~5m
VRC.Quest.Input.8 ✓ · System gesture is reserved — does not trigger unintended app actions
~3m
Store Assets (All Required unless noted)
All assets must be submitted before the app can go through review.
VRC.Quest.Asset.1 ✓ · App logo is on a transparent background
~3m
VRC.Quest.Asset.2 ✓ · Store cover art has clear branding — no extraneous text, taglines, or banners
~3m
VRC.Quest.Asset.3 + · Cover art avoids placing text in the top or bottom 20% of the image (recommended)
~2m
VRC.Quest.Asset.4 + · Hero art includes the app branding and/or title centred in the image (recommended)
~2m
VRC.Quest.Asset.5 ✓ · Screenshots represent the app accurately — no additional logos, text, or iconography overlaid
~5m
VRC.Quest.Asset.6 ✓ · App description, screenshots, and videos do not include headsets, controllers, or logos for other VR platforms
~5m
VRC.Quest.Asset.7 ✓ · Trailer is not longer than 2 minutes
~3m
VRC.Quest.Asset.8 + · Artwork text uses a minimum 24pt font size (recommended)
~2m
VRC.Quest.Asset.9 ✓ · Immersive Image Layers are on transparent backgrounds
~3m
Ads (All Required — if app contains advertising)
VRC.Quest.Ads.1 ✓ · App meets all Meta advertising policy requirements
~5m
VRC.Quest.Ads.2 ✓ · 'Contains Ads' label included on the Product Details Page
~2m
VRC.Quest.Ads.3 ✓ · Ads are not stereoscopic, head-tracked, or immersive
~3m
VRC.Quest.Ads.4 ✓ · Ads that interfere with app use provide a clear dismissal method
~3m
VRC.Quest.Ads.5 ✓ · Ads do not appear after every consecutive user action
~3m
VRC.Quest.Ads.6 ✓ · Ads do not impair device functionality
~3m
VRC.Quest.Ads.7 ✓ · Ads do not mimic Horizon OS notifications or app UI elements to facilitate inadvertent clicks
~3m
Accessibility (All Recommended)
VRC.Quest.Accessibility.1 + · App is playable without audio
~5m
VRC.Quest.Accessibility.2 + · Text and controls necessary for progression are clearly legible
~5m
VRC.Quest.Accessibility.3 + · Clarity provided through visual, audio, and/or haptic feedback
~5m
VRC.Quest.Accessibility.4 + · Option to play with one hand or controller
~5m
VRC.Quest.Accessibility.5 + · Display settings (brightness/contrast) are user-configurable
~3m
VRC.Quest.Accessibility.6 + · Colourblindness options available, or pattern/colour combinations used throughout
~3m
VRC.Quest.Accessibility.7 + · Option to rotate view without physical head/neck movement
~3m
VRC.Quest.Accessibility.8 + · Multiple locomotion styles supported where possible
~3m
VRC.Quest.Accessibility.9 + · All interactions possible from a fixed position in sitting/standing mode
~3m
Privacy Policy (All Required)
VRC.Quest.Privacy.1 ✓ · Privacy policy URL links to a live, valid page managed by the app's team
~3m
VRC.Quest.Privacy.2 ✓ · Privacy policy clearly explains what user data is collected
~5m
VRC.Quest.Privacy.3 ✓ · Privacy policy clearly explains how user data is used
~5m
VRC.Quest.Privacy.4 ✓ · Privacy policy clearly explains how users can request deletion of their data
~5m
VRC.Quest.Privacy.5 ✓ · Team and app have cleared Meta's data protection checks
~5m
Content & Publishing (All Required unless noted)
VRC.Content.1 ✓ · App meets all Meta Horizon Store content guidelines
~5m
VRC.Content.2 ✓ · App metadata (name, description, screenshots) accurately matches the app's actual in-app content
~5m
VRC.Content.3 ✓ · UGC apps include a reporting form for Code of Conduct violations (if applicable)
~5m
VRC.Content.4 + · UGC apps allow users to immediately hide undesired content (recommended)
~5m
VRC.Publishing.1 ✓ · App website URL links to a valid, live page
~2m
VRC.Publishing.2 ✓ · External support link (if present) leads to a valid support page
~2m
VRC.Publishing.3 ✓ · Terms of Service URL (if present) links to a valid TOS page
~2m
VRC.Publishing.4 ✓ · App name meets all content guidelines
~2m
VRC.Publishing.5 ✓ · Short description meets all content guidelines
~2m
VRC.Publishing.6 ✓ · Long description meets all content guidelines
~2m
VRC.Publishing.7 ✓ · Search keywords are relevant to the app and meet content guidelines
~2m
VRC.Publishing.8 ✓ · Any use of Meta branding in metadata follows Meta Brand Guidelines
~3m