Why Meta Quest?
Design
Develop
API reference
Distribute
Blog
Support
Login
Develop
Develop
Select your platform
Overview
Setup
Setting up your dev environment
Prerequisites
Installing Unreal Engine
Installing Android Studio
Installing the Meta XR Plugin
Configuring your headset
Resources
Choosing UE installation by feature compatibility
PC-VR Integration for Unreal Engine
Get started
Setting up your first project
Configuring the Meta XR plugin
Choosing an OpenXR Backend
Packaging your new project
Meta XR plugin settings
Unreal Engine Royalty Payment Program
Add user input and interactions
Enable controllers
Overview
Getting Started
Creating a Distance Grab Interaction
Controller Input Mapping
Oculus Touch Controller
Touch Plus Controllers
Controllers Best Practices
Controllers Troubleshooting
Enable Hand Tracking
Set Up Hand Tracking
Use Capsense
Interactions
Overview
Getting Started
Architecture
Overview
Interaction Lifecycle
Pointer Events
Grabbing Objects
Grab Interactions
Hand Grab Poses
Custom Distance Grab Visuals
Custom Ray Grab Visuals
Poking Objects
Raycasting
2D UI Panels
Playing Sounds for Interactions
Samples
Best Practices
Troubleshooting
Haptics
Overview
Create
Haptics Studio
Get Started
Feature Walkthrough
Troubleshooting
Integrate
Haptics SDK
Get Started
Add Haptics
Troubleshooting
Other Runtime APIs
Add Realism using Movement SDK
Overview
Getting Started
Code Walkthrough
Movement Sample
Advanced Material
Troubleshooting
Morph Target Visual Reference
Body Joints Visual Reference
Integrate Voice Features
Overview
Integrating Voice SDK
Enabling Voice Commands
Setup Voice Command
Activation
Redirecting the Wit Endpoint
Versioning Your App
Providing Voice Transcriptions
Providing Visual Feedback
Live Understanding
Enabling Dictation
Using Text-to-Speech (TTS)
Overview
TTS Voice Customization
TTS Cache Options
Sample
Best Practices
Troubleshooting
Add Spatial Audio
Overview
Features
Using the Unreal Spatializer Plugin
Overview
Getting Started
Features
Spatialization
Acoustics
Ambisonics
Samples
Tutorial
Troubleshooting
Using the FMOD Spatializer Plugin
Overview
Getting Started
Features
Spatialization
Acoustics
Ambisonics
Tutorial
Troubleshooting
Using the Wwise Spatializer Plugin
Overview
Getting Started
Features
Spatialization
Acoustics
Ambisonics
Unreal Integration
Parameter Reference
Troubleshooting
Using 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
Getting Started
Passthrough Over Link
Persistent Passthrough
Passthrough Styling
Color Mapping Techniques
Overview
Creating Passthrough Color LUTs
Neutral Color LUTs
Compositing and Masking
Overview
Passthrough AR
Occlusions
Passthrough Windows
Surface Projected Passthrough
Passthrough Loading Screens
Samples
Best Practices
Troubleshooting
Tutorials
Basic Tutorial
Passthrough Window Tutorial
Color LUT Tutorial
Projected Passthrough Tutorial
Create Depth Perception
Overview
Occlusions
Overview
Get Started
Material Graph
Hands Removal
Samples
Troubleshooting and FAQ
Manage Scenes
Overview
Spatial Data Permissions
Semantic Labels for Scenes
Best Practices
Migrate to MR Utility Kit
Deprecated
Get Started with Scene Actor
Importing Scene Entity Meshes
Scene Mesh
Blueprint Reference
Using Spatial Anchors
Overview
Getting Started
Spatial Anchors
Shared Spatial Anchors
Colocation Discovery
Samples
Best Practices
Troubleshooting
Reference
Code Reference
Blueprint Reference
Mixed Reality Experience and Use Cases
Platform Solutions
Overview
Get Started
Getting Started Guide
Server-to-Server API Basics
Set Up for Platform Development
Multiplayer Features
Multiplayer Overview
Multiplayer Enablement
Destinations
Group Presence
Invite to App
Testing and Use Cases
Invite Link
Quick Invites
App to App Travel
Roster
Rejoin
Invokable Error Dialogs
SharedSpaces Multiplayer Showcase
Test Cases
Multiplayer Testing
Multiplayer Testing with Link
Multiplayer Testing with 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 Apps
Monetization
Monetization Overview
Add-ons - Downloadable Content and In-App Purchases
Add-ons Integration
Add-on 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
Account Linking
Language Packs
Security
Security Overview
Attestation API
Get Age Category API
Accessibility
Lying Down Mode
Quest Tools
Quest Tools Overview
Asset Files to Manage Download Size
App Deep Linking
System Deep Linking
Cloud Storage
Cloud Backup
Save Game Best Practices
Cross-Device Development with App Groupings
Webhooks
Sample Apps
Platform Reference
Platform Release Notes Archive
Display and Rendering Capabilities
Overview
Meta Quest
Fixed Foveated Rendering
Eye Tracked Foveated Rendering
Set Display Refresh Rates
Multi-View
Enabling Phase Sync Adaptive Frame Timing
Enabling Late Latching
Tone Mapping
PC-VR
Unreal Forward Shading Renderer
Adaptive Pixel Density
All Headsets
VR Compositor Layers
Layer Filters - SuperSampling and Sharpening with MQSR
Color Space and Color Scaling
Material shader statistics with Adreno Offline Compiler
Performance and Optimization
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
Meta Fork Game Engine Performance Enhancement
Basic Optimization Workflow for Meta Horizon OS Apps
Dynamic Resolution
Using RenderDoc Meta Fork to Optimize Your App - Part 1
Using RenderDoc Meta Fork to Optimize Your App - Part 2
Application SpaceWarp Developer Guide
Build and Test
Build
Building and Packaging Apps
Iteration Speed Best Practices
Reduce App Deploy Time During Development
Improve Compile Times with FASTBuild
Test
Testing and Automation Tools
Use Meta Quest Scriptable Testing Services to Enable E2E Testing
Using AutoDriver to Record Inputs
Using Oculus Debugger for VS Code
Vulkan Validation Layers
Testing and Performance Analysis
PC-VR - Testing and Performance Analysis
Enhance the User Interface
Splash Screen
Overlays and Input Focus
Overview
Enable Keyboard Overlays for Text Input
Mixed Reality Capture
Creating without a Boundary
Social Applications and Revenue
Publish Your App
Unreal Engine Royalty Payment Program
Set Target Device and Get Device Type at Runtime
Upload App to Meta Horizon Store
Meta XR Plugin Settings
Developer Tools
Using Link for App Development
Meta XR Project Setup Tool
Meta XR Mixed Reality Template
Meta Quest Developer Hub
Overview
Get Started
Manage Your Headset
Set Up Headset with MQDH
Debugging Tools
Create Custom Command
Performance Analyzer
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
Android Tools
Collect VrApi Logs with Logcat
Overview
Logcat Stats Definitions
Configure Android System Properties
Use ADB with a Headset
Performance Tools
Unreal Insights
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
Meta XR Simulator
Introduction
Getting 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
Body Tracking
Hand Tracking
Logs
Samples and Showcases
Overview
Unreal Showcases
Train Hand Tracking Sample
Scene
Shared Spatial Anchor
Shared Scene
Blueprints Reference
Color Management
Get Hmd Color Desc
Set Client Color Desc
Set Color Scale and Offset
Guardian
Get Guardian Dimensions
Get Guardian Points
Get Node Guardian Intersection
Get Play Area Transform
Get Point Guardian Intersection
Is Guardian Displayed
Set Guardian Visibility
Hand Tracking
Get Hand Scale
Get Hand Skeletal Mesh
Get Dominant Hand
Get Bone Name
Get Bone Rotation
Get Pointer Pose
Initialize Hand Physics
Is Pointer Pose Valid
Is Hand Tracking Enabled
Input Mapping
Get Controller Type
Game Feedback
Mixed Reality
Get Oculus MR Settings
Load from Ini
Save to Ini
Get Tracking Reference Component
Set Tracking Reference Component
Overlay and Dash Blueprints
Has Input Focus
Passthrough
Add Passthrough Layer Component
Add Static Surface Geometry
Remove Static Surface Geometry
Add Procedural Surface Geometry
Remove Procedural Surface Geometry
Enable Color Map
Enable Edge Color
Set Color Map Curve
Set Color Map Type
Set Edge Rendering Color
Set Texture Opacity
Performance Optimization Blueprints
Get Available Display Frequencies
Get Current Display Frequency
Set Display Frequency
Get GPU Frame Time
Get GPU Utilization
Set CPU and GPU Levels
Get FFR Level
Set FFR Level
Position and Orientation
Enable Orientation Tracking
Enable Position Tracking
Get Base Rotation and Base Offset in Meters
Get Pose
Get Raw Sensor Data
Is Device Tracked
Set Base Rotation and Base Offset in Meters
Splash Screen
Add Loading Splash Screen
Clear Loading Splash Screen
Enable Auto-Loading Splash Screen
User, Device, and Account
Get Device Type
Get User Profile
Verify User Entitlement
Console Command Reference
Experimental Features
Archive
Overview
Retired Blueprints
Has System Overlay Present (Retired)
Oculus Avatars (Retired)
Overview (Retired)
Avatars Upgrade Guide (Retired)
Avatar Developer Guide (Retired)
Expressive Features for Avatars (Retired)
Avatar SDK Developer Reference (Retired)
Avatars After 4.26 Unreal Engine (Retired)
Oculus VST Spatializer for DAWs Integration Guide (Retired)
Overview (Retired)
Use the Oculus Plugin (Retired)
VST Options and Parameters (Retired)
3D Visualizer (Retired)
DAW-Specific Notes (Retired)
Legal Notifications (Retired)
Oculus AAX Spatializer for DAWs Integration Guide (Retired)
Overview (Retired)
Use the 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)
Peer-to-Peer Networking (Deprecated)
Group Launch (Deprecated)
Rooms (Deprecated)
Rooms Client APIs (Deprecated)
Server APIs for Moderated Rooms (Deprecated)
Voice Chat (VoIP) (Deprecated)
Oculus Audio for Unreal Apps
Overview
Oculus Spatializer Features
Oculus Spatializer for Unreal Engine
Oculus Spatializer for Wwise
Set Up the Oculus Spatializer for Wwise
How to Use the Oculus Spatializer for Wwise
Integrate the Oculus Spatializer in Your App
Oculus Spatializer for FMOD Integration Guide
Set Up the Oculus Spatializer for FMOD
How to Use the Oculus Spatializer and Ambisonics in FMOD Studio
Oculus Spatial Reverb
Oculus Lipsync Development Guide
Viseme Reference
Use Oculus Lipsync with Unreal
Precompute Visemes to Save CPU with Unreal
Explore Oculus Lipsync with the Sample Scene for Unreal
Oculus Audio Profiler
Overview
Setup the Profiler
Profile Spatialized Audio
Oculus Audio Loudness Meter
Overview
Setup the Loudness Meter
Measure Loudness
Archived Developer Tools
GPU Systrace (Deprecated)
Cloud Saves API (Deprecated)
Cloud Saves Deprecation
Code samples
Downloads
Release notes
Supported platforms
Unreal Engine
Enhance the User Interface
​
Back to Unreal Engine
Mixed Reality Capture with Unreal Engine
Mixed Reality Capture is now integrated into Unreal Engine 5 and no longer requires a separate download. For more information, visit the
Mixed Reality Capture Overview
documentation on Epic’s website.
Did you find this page helpful?
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