Why Meta Quest?
Design
Develop
API reference
Distribute
Blog
Support
Login
Build with Meta
Social Technologies
Meta Horizon
AI
Horizon Worlds
About us
Careers
Research
Products
Virtual reality / Meta Horizon
Developer Blog
Download SDKs
Meta for Work
Programs
Start
Meta Horizon Creator Program
Discover
Why Meta Quest?
What is mixed reality?
Platforms and tools
2D apps for Meta Horizon OS
Devices
Meta Avatars
Success stories
Use cases
Support and legal
Developer policies
Legal
Privacy
Forums
Support
Build with Meta
Social Technologies
Meta Horizon
AI
Horizon Worlds
About us
Careers
Research
Products
Virtual reality / Meta Horizon
Developer Blog
Download SDKs
Meta for Work
Programs
Start
Meta Horizon Creator Program
Discover
Why Meta Quest?
What is mixed reality?
Platforms and tools
2D apps for Meta Horizon OS
Devices
Meta Avatars
Success stories
Use cases
Support and legal
Developer policies
Legal
Privacy
Forums
Support
Build with Meta
Social Technologies
Meta Horizon
AI
Horizon Worlds
About us
Careers
Research
Products
Virtual reality / Meta Horizon
Developer Blog
Download SDKs
Meta for Work
Programs
Start
Meta Horizon Creator Program
Discover
Why Meta Quest?
What is mixed reality?
Platforms and tools
2D apps for Meta Horizon OS
Devices
Meta Avatars
Success stories
Use cases
Support and legal
Developer policies
Legal
Privacy
Forums
Support
English (US)
© 2025 Meta
Develop
Develop
Overview
Hello World
Get Started
Developing Apps for Horizon OS
Set Up Unity
Set Up Your Device
Explore Features with Building Blocks
Simulate Builds with XR Simulator
Add User Input and Interactions
Overview
Interactions
Overview
Get Started with Interaction SDK
Add an Interaction with Quick Actions
Use Interaction SDK with Unity XR
OpenXR Hand Skeleton
Overview
OpenXR Upgrade Dialog
Upgrade Custom Components
The Cameraless Rig Prefab
Use Custom Hand Models
Samples
Example Scenes
Feature Scenes
ComprehensiveRigExample Scene
ConcurrentHandsControllersExamples Scene
Tracked Keyboard Sample
Architecture
Overview
Interactors
Interactables
Interactor Interactable Lifecycle
Interactor Groups
Active State
Overview
Use Active State
Input Data
Pointer Lifecycle
Pointer Events
Use Data
Features
Grabbing Objects
Grab
Hand Grab
Controller Grab
Grab with Controller Driven Hands
HandGrabExamples Scene
Grab Best Practices
Grab Troubleshooting
Distance Grab
Distance Hand Grab
Distance Controller Grab
Distance Grab with Controller Driven Hands
Create Ghost Reticles
DistanceGrabExamples Scene
Touch Grab
Touch Hand Grab
TouchGrabExamples Scene
Snapping Objects
Snap Interactions
Create Snap Interactions
SnapExamples Scene
Using Objects
HandGrab Use
HandGrabUseExamples Scene
Grabbables
Grabbable
TransformerExamples Scene
Custom Poses
Create a Hand Grab Pose (PC)
Create a Hand Grab Pose (Mac)
Movement Providers
Physics Components
Poking Objects
Poke Interactions
PokeExamples Scene
Casting Rays
Ray Interactions
RayExamples Scene
Moving in the World
Locomotion Overview
Teleport Interactions
Turn Interactions
Slide Interactions
Step Interactions
Gating Locomotion
Locomotion Events
Create Locomotion Interactions
Character Controllers for Locomotion
Locomotion Comfort
LocomotionExamples Scene
Creating UIs
UI Set
Create UI
Pointable
Unity Canvas Integration
Curved Canvas
Surface
Surface Patch
Detecting Poses
Build Custom Hand Pose
Hand Pose Detection
Body Pose Detection
Compare Body Poses
PoseExamples Scene
GestureExamples Scene
BodyPoseDetectionExamples Scene
Handling Events
Audio
Event Wrappers
Secondary Interactions
Working with Hands
Hand Physics Capsules
Hand Visual
Get Hand Bone Position
Debug Gizmos
Body, Face, and Eye Tracking
Overview
Getting Started
Body Tracking
Natural Facial Expressions
Eye Tracking
Networking
Samples
Body Tracking Samples
Natural Facial Expressions and Eye Tracking Samples
Advanced Samples
Advanced Material
Scripts and Shaders
Troubleshooting
Keyboard Input
Tracked Keyboard
Virtual Keyboard
Overview
Getting Started
Sample Overview
Integrating the OVRVirtualKeyboard Prefab
Custom Integrations and Best Practices
FAQ
Voice Input
Overview
Integrating Voice SDK
Features
Voice Command
Tutorial
Overview
Enable App Voice Experiences with Built-In NLP
Add Voice Experiences with Custom NLP
Add Live Understanding to Your App
Activation
Providing Voice Transcriptions
Providing Visual Feedback
Conduit
Live Understanding
Built-In NLP
Overview
Built-in Intents
Built-in Entities
Built-in Traits
Dynamic Entities
Overview
Implementing Dynamic Entities
Dynamic Entities Based on GameObject Lifecycle
Supporting Oculus Parties
Dictation
Text-to-Speech (TTS)
Overview
TTS Voice Customization
TTS Cache Options
Preloading TTS Files
Composer
Overview
Key Components of Composer
Creating a Composer-based Scene
Demo Scenes
Tutorial - Receive Basic Voice Input
Best Practices
Known Issues
Haptics
Overview
Create
Haptics Studio
Get Started
Feature Walkthrough
Troubleshooting
Integrate
Haptics SDK
Get Started
Add Haptics
Troubleshooting
Other Runtime APIs
Custom User Input Mapping
Controllers
Overview
Getting Started with Controller Input and Tracking
Render Controllers at Runtime
Touch Pro Controllers
Touch Plus Controllers
Add Controller Animations
Input Actions
Best Practices
Troubleshooting
Hand Tracking
Overview
Get Started
Hands Setup
Interactions Setup
Features
Wide Motion Mode
Capsense
Multimodal
Fast Motion Mode
Troubleshooting and Limitations
Set Up Spatial Audio
Overview
Features
Unity Spatializer Plugin
Overview
Getting Started
Features
Spatialization
Acoustics
Ambisonics
Samples
Tutorial
Troubleshooting
FMOD Spatializer Plugin
Overview
Getting Started
Features
Spatialization
Acoustics
Ambisonics
Tutorial
Troubleshooting
Wwise Sink Plugin
Overview
Getting Started
Features
Spatialization
Acoustics
Ambisonics
Unity Integration
Parameter Reference
Troubleshooting
Acoustic Ray Tracing
Overview
Getting Started
Features
Geometry
Maps
Materials
Control Zones
Project Settings
Best Practices
Troubleshooting
Integrate Mixed Reality
Use Mixed Reality Utility Kit
Overview
Get Started
Features
Samples
Overview
Passthrough Relighting Sample
Add Real-world View with Passthrough
Overview
Get Started
Passthrough Over Link
Features
Passthrough Styling
Color Mapping Techniques
Overview
Create Color LUTs
Neutral Color LUTs
Compositing and Masking
Overview
Passthrough AR
Occlusions
Passthrough Windows
Surface Projected Passthrough
Loading Screen
Tutorials
Basic Tutorial
Basic Tutorial with Building Blocks
Passthrough Window Tutorial
Color LUT Tutorial
Projected Passthrough Tutorial
Samples
Overview
Passthrough with Multiple Features
Overlay Passthrough
Additional Resources
Best Practices
Troubleshooting
Create Depth Perception
Overview
Occlusions
Overview
Get Started
Advanced Usage
Hands Removal
Samples and Support
API Reference
Unity’s XR.Oculus Usage
Troubleshooting and FAQ
Manage Scenes
Overview
Features
Spatial Data Permission
Use the Scene Model
Access Scene data with OVRAnchor
Samples
Overview
Mixed Reality Sample
Custom Scene Manager Sample
Troubleshooting
Best Practices
Migrate to MR Utility Kit
Deprecated
Get Started with OVRSceneManager
Use OVRSceneManager
Plane and Volume Sample
Use Spatial Anchors
Overview
Getting Started
Spatial Anchors
Shared Spatial Anchors
Tutorial
Shared Spatial Anchors Sample
Best Practices
Shared Spatial Anchors Troubleshooting
Trackables
Colocation Discovery
Mixed Reality Experience and Use Cases
Asynchronous Tasks
Platform Solutions
Overview
Get Started
Getting Started Guide
Set Up for Platform Development
Set Up Platform Entitlements
Server-to-Server API Basics
Multiplayer Features
Multiplayer Overview
Multiplayer Enablement
Multiplayer Building Blocks
Destinations
Group Presence
Invite to App
Testing and Use Cases
Invite Link
Quick Invites
App to App Travel
Roster
Rejoin
Invokable Error Dialogs
Networking with Photon
SharedSpaces Multiplayer Showcase
Test Cases
Multiplayer Testing
Multiplayer Testing with Quest Link
Multiplayer Testing with Quest Link and Meta XR Simulator
Multiplayer Testing Tool
User Engagement
User Engagement Overview
User Notifications
Overview
Create User Notifications
Event-Based Notifications
Analytics
Developer Posts
Leaderboards
Leaderboards Client APIS
Leaderboard Server APIs
Events
Achievements
Challenges
Challenges Client APIs
Challenges Server APIs
Share Content from Meta Quest Apps
Monetization
Monetization Overview
Add-ons - DLC and IAP
Add-ons Purchase Integration
Add-ons Server APIs
Testing Add-ons
Subscriptions
Server APIs for Subscriptions
Social Features
Social Features Overview
Blocking
Parties and Party Chat
Parties and Party Chat
Mic Switcher
User Info, Friends and Relationships
Overview
Verify the User
Enable Friend Requests (Mobile)
Managed Accounts
Managed Account API Overview
User Management
User Management Overview
Entitlement Check
Cross-Play with Federated Authentication
Overview
API Reference
Create Federated User
Delete Federated User
Generate Federated User Access Token
Read Federated User
Read Federated Users
Update Federated User
Account Linking
Language Packs
Security
Security Overview
Attestation API
Get Age Category API
Accessibility
Lying Down Mode
Quest Tools
Quest Tools Overview
App Deep Linking
System Deep Linking
In App Update APIs
Asset Files to Manage Download Size
Cloud Storage
Cloud Backup
Cloud Saves API
Cloud Saves Deprecation
Save Game Best Practices
Cross-Device Development with App Groupings
Webhooks
Sample Apps
Platform Reference
Platform Release Notes Archive
Integrate Meta Avatars
Overview
Configure App
Configure Unity Project
Upgrade Guide to V29+
Avatars SDK Manager Prefab
Avatars Editor Integration
OvrAvatarEntity
Loading Avatars
Gaze Targets
Avatar Input Tracking
Custom Hand Poses
Custom Input Handling
Adding Face and Eye Pose
Networking Avatars
Locomotion
Socket Attachables
Optimization
Cross-Play
Shaders
Best Practices
Samples
Enhance the User Interface
Camera Features
Configure Meta XR Camera Settings
Add a Splash Screen
Mixed Reality Capture
Spectator Camera for Casting
The Boundary System
Create Interactive Boundaries
Boundaryless
UI Features
Enable Focus Awareness
Enable System Keyboard Overlay
Oculus Dash in Unity
Display and Rendering Capabilities
Fixed Foveated Rendering
Eye Tracked Foveated Rendering
Set Display Refresh Rates
Enable Phase Sync
Enable Multiview
Enable Late Latching
VR Compositor Layers
Single Pass Stereo Rendering and Stereo Instancing
Set Specific Color Space
Asymmetric FOV FAQ
Application SpaceWarp Developer Guide
Forward+ Rendering
Graphics Jobs
Vulkan Subpasses
Performance and Optimization
Testing and Performance Analysis
Best Practices
Operating system
CPU and GPU levels
OpenXR, VRAPI, and LibOVR
OpenGL ES and Vulkan
Compatibility mode
Graphics subsystems
Render Scale
Fixed Foveated Rendering (FFR)
App spacewarp
Compositor
Compositor layers
Graphics architecture
Mobile GPUs and tiled rendering
Mobile GPUs and improved algorithms
Mobile GPUs and impaired algorithms
Boosting CPU and GPU Levels
Accurately Measure an App's Per-Frame GPU Cost
Advanced GPU Pipelines and Loads, Stores, and Passes
Basic Optimization Workflow for Meta Quest Apps
Draw Call Cost Analysis for Meta Quest
Dynamic Resolution
Open World Games and Asset Streaming
Unity Iteration Speed Best Practices
Using RenderDoc Meta Fork to Optimize Your App - Part 1
Using RenderDoc Meta Fork to Optimize Your App - Part 2
Build and Test
Build
Project Configuration
Build Configuration
Optimize Build Iterations and Use Quick Scene Preview
Strip Unused Shaders
Cubemap Screenshots
Cross-Platform Development
Application lifecycle handling
Test
Use Meta Quest Scriptable Testing Services to Enable E2E Testing
Using AutoDriver to Record Inputs
Vulkan Validation Layers
Developer Tools
Meta XR Packages
In-Editor Tools
Project Setup Tool
XR Plugin Management
Building Blocks
Immersive Debugger
HMD Motion Emulation
Meta Quest Developer Hub
Overview
Get Started
Manage Your Headset
Set Up Headset with MQDH
Debugging Tools
Create Custom Command
Performance Analyzer and Metrics
Overview
How to Take Perfetto Traces
Layer Visibility Control
Explore File Manager
Add, Remove, and Switch Between Multi-User Accounts
MQDH Downloads
Deploy Build on Headset
Troubleshooting MQDH
Submit and Track Bugs and Feature Requests
Link
Meta XR Simulator
Overview
Get Started
Interaction Simulation
Simulate User Input from Keyboard, Mouse, and Xbox Game Controllers
Simulate User Input from Meta Quest Controllers
Simulate a Mixed Reality Environment
Test Rooms
Overview
Built-in Rooms
Build your room in the Synthetic Environment Builder
Build your room in JSON
Overview
Exporting rooms from headset
Room JSON Syntax
Record and Replay
Multiplayer Testing
Automated Testing
Overview
Zero-code Automation Testing
Programmatic Automation Testing
Hybrid Automation Testing
Test App with Different Room Layouts (Synthetic Environments)
Automate Multiplayer Testing
Body Tracking
Hand Tracking
Logs
Android Tools
Collect VrApi Logs with Logcat
Overview
Logcat Stats Definitions
Configure Android System Properties
Android Debug Bridge for Meta Quest
Performance Tools
Unity Profiler
RenderDoc Meta Fork
Overview
Taking and Loading a Capture
Performing a Render Stage Trace
Performing a Draw Call Trace
Accessing Vulkan Shader Stats
Recommended Settings
Draw Call Metrics
OVR Metrics Tool
Overview
OVR Metrics Tool Stats Definition Guide
Best Practices - OVR Metrics Tool for Non-Engineers
gpumeminfo
ovrgpuprofiler
Simpleperf
Publish Your App
Prepare Your App for Publishing
Generate the Android Manifest File
Upload App from Unity
Sample Projects
UPM Package Samples
Starter Samples
Overview
CustomControllers
CustomHands
Hand Tracking
Locomotion
OVROverlay
Scene
Shared Scene
Shared Spatial Anchors
Spatial Anchors
StartScene
Stereo180Video
Mixed Reality Motifs
Mixed Reality Motifs Overview
Passthrough Transitioning
Shared Activities in Mixed Reality
Showcases
Unity Showcase Samples Overview
SharedSpaces Showcase
Social Game Showcase
Discover Showcase
Overview
Set up the Colocation Package
Deep Dive into the Colocation Package
Scene Integration in DroneRage
Passthrough API in DroneRage
Interaction SDK Integration in DroneRage
Discover and DroneRage FAQ
Example Scenes
Learn More
Archive
Overview
Import Oculus Integration SDK (Legacy)
Oculus Integration SDK Sample Framework (Legacy)
Interaction SDK Tutorials (Legacy)
Overview
Create Grab Interactions
Create Distance Grab Interactions
Create Poke Interactions
Create Ray Interactions
Use Ray Interaction with UI
Throw an Object
Oculus Audio SDK (EOL)
Overview
Oculus Spatializer Features
Oculus Native Spatializer
Requirements and Setup
Explore Sample Scene
Apply Spatialization
Dynamic Room Modeling
Play Ambisonic Audio
Audio Propagation (Beta)
Manage Sound Effects with Oculus Audio Manager
Oculus Spatializer for Wwise
Set Up Oculus Spatializer for Wwise
Use Oculus Spatializer for Wwise
Configure Target Platforms for Wwise
Integrate Oculus Spatializer
Oculus Spatializer for FMOD Integration
Set Up Oculus Spatializer for FMOD
Use Oculus Spatializer and Ambisonics in FMOD Studio
Oculus Spatial Reverb
Install with FMOD Studio Unity Integration
Oculus Lipsync
Overview
Viseme Reference
Use Oculus Lipsync
Precompute Visemes to Save CPU
Explore Sample Scene
Oculus Audio Profiler
Overview
Set up Profiler
Profile Spatialized Audio
Oculus Audio Loudness Meter
Overview
Set up Loudness Meter
Measure Loudness
Meta Avatars SDK Quest 1 Support (Retired)
Oculus VST Spatializer for DAWs Integration (Retired)
Oculus VST Spatializer for DAWs Integration Guide (Retired)
Overview (Retired)
Use Oculus Plugin (Retired)
VST Options and Parameters (Retired)
3D Visualizer (Retired)
DAW-Specific Notes (Retired)
Legal Notifications (Retired)
Oculus AAX Spatializer for DAWs Integration (Retired)
Oculus AAX Spatializer for DAWs Integration Guide (Retired)
Overview (Retired)
Use Plugin (Retired)
Track Parameters (Retired)
3D Visualizer (Retired)
Archived Platform Solutions
Matchmaking (Deprecated)
Introduction to Matchmaking (Deprecated)
Matchmaking API (Deprecated)
Implement Matchmaking (Deprecated)
Refine Matchmaking (Deprecated)
Test and Tune Matches (Deprecated)
Group Launch (Deprecated)
Peer-to-Peer Networking (Deprecated)
Rooms (Deprecated)
Rooms Client APIs (Deprecated)
Server APIs for Moderated Rooms (Deprecated)
Peer to Peer Voice Chat (VoIP) (Deprecated)
Tracked Keyboard (Deprecated)
Overview (Deprecated)
Get Started (Deprecated)
Integrate OVRTrackedKeyboard Prefab (Deprecated)
Debug Tracked Keyboard-Enabled Apps with Link (Deprecated)
Tracked Keyboard Sample (Deprecated)
Archived Developer Tools
GPU Systrace (Deprecated)
Code samples
Downloads
Release notes
Oculus SDK for Windows
Download
Updated: Jan 30, 2017
|
Version
Select your version
Build VR apps for Rift and Rift S in C++ with the Oculus PC SDK. This tool is only supported on Windows.