Why Meta Quest?
Design
Develop
API reference
Distribute and grow
Blog
Support
Login
Develop
Develop
Select your platform
Overview
What is Spatial SDK?
Developing with Spatial SDK
Getting started
Build your first app
Overview
Create new Spatial SDK app
Add Spatial SDK to 2D app
Continue building your app
VR basics for 2D developers
Meta Horizon Android Studio Plugin
Template project walkthrough
Connect Spatial Editor
Design tips
Packages
Meta Spatial Editor
Overview
Get started
Download and setup
Navigating the UI
Project structure
File formats
Keyboard shortcuts
Reporting bugs
Assets
Import and manage assets
Asset library
Integrating 3D assets into your scenes
Objects
3D objects
Materials and textures
Components
Compositions
Creating compositions
Transforms and coordinates
Using with Meta Spatial SDK
Integrate with Spatial SDK
Command line interface
Key concepts
Architecture overview
SpatialActivity lifecycle
Entity-Component-System (ECS)
Components
Understand components
Supported attributes
Built-in components
Create a custom component
Systems
Understand systems
Create a custom system
Queries
Use queries to access entities
Filter query results
Sort queries
Create and handle events
Create reusable ECS modules
Runtime guidelines
User input and interactions
Input and controllers
Interaction SDK
Overview
Panels in ISDK
Grabbable objects in ISDK
Listen for ISDK input events
Supporting systems
Panels
Tutorial - Create your first panel
Understand 2D panels
Essentials
Design panels in Spatial Editor
Register and configure panels
Spawn and remove panels
Communicate between panels
Resolution and display options
Media
Configure media playback
Protected content and DRM
Layer and mesh rendering
Layer blend modes
UIs
Build UIs with Jetpack Compose
UI component library
Overview
Button
Card
Control
Dialog
Dropdown
Input
Navigation item
Slider
Tooltip
Make a resizable panel
Scenes
Understand scenes
Using the Scene class
Scene compositions (glXF)
Customize your environment
Use Mixed Reality Utility Kit
Custom 3D models (glTF)
Load and manage 3D objects
Audio
Standard audio
Spatial audio
Physics
Animations
Passthrough
Enable passthrough
Passthrough camera access
Camera2 API
Spatial Scanner
Overview
Passthrough camera access API
ML kit object tracking
Llama integration
Custom shaders
Create hybrid experiences
Experimental features
Advanced queries
Query for changed entities
Query for child components
Splats
Developer tools
Input forwarding
OVRMetrics
Hot reload
Data Model Inspector (DMI)
Auto-validate XML
Test
Use Meta Quest scriptable testing services to enable E2E testing
Performance and optimization
CPU and GPU levels
Memory / RAM
Compositor
Compositor layers
Meta Quest Developer Hub (MQDH)
MQDH overview
Get started with MQDH
Set up headset with MQDH
Manage your headset with MQDH
Use MQDH with browser
Enable AI tools with MCP for Meta Horizon OS developers
MQDH debugging tools
Create a custom command
Performance analyzer and metrics
Overview
How to take Perfetto traces
Layer visibility control
Explore MQDH file manager
Add, remove, and switch between multi-user accounts
MQDH downloads
Deploy APK builds to headset devices
Troubleshooting MQDH
Submit and track bugs and feature requests
Android tools
Collect VrApi logs with Logcat
Overview
Logcat stats definitions
Configure Android system properties
Android Debug Bridge for Meta Quest
Performance tools
gpumeminfo
ovrgpuprofiler
Simpleperf
Known issues
Horizon Billing Compatibility
Horizon Billing Compatibility SDK
Google Play Billing interface
Known limitations
Platform Solutions
Overview
Get started
Getting started guide
Platform development
Server-to-server API basics
Audio
User management
User management overview
Entitlement check
Account linking
Language packs
User engagement
User engagement overview
User notifications
Overview
Create user notifications
Event-based notifications
Analytics
Developer posts
Leaderboards
Leaderboard 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
Create and manage
Server APIs
Security
Security overview
Attestation API
Get Age Category API
Webhooks
Platform reference
Code samples
Downloads
Release notes
Hello World!
Updated: Nov 22, 2024
This page shows you the quickest way to get an app with Spatial SDK running on any Meta Quest headset.
Make sure your controllers are available and connected.
Enable Developer Mode
on your headset.
Install
Meta Spatial Editor
on your computer.
Meta Spatial Editor isn’t necessary for all Spatial SDK apps. However, it is required for Spatial SDK samples, except for the Mixed Reality Utility Kit (MRUK) sample.
Install
Android Studio
on your computer.
Download the sample projects from the
Meta-Spatial-SDK-Samples
GitHub repo.
In Android Studio, open the
Starter Sample
project.
Plug your Meta Quest headset into your computer.
When you plug in your Meta Quest headset, Android Studio recognizes it as an Android device.
Once you have connected your Meta Quest headset, in Android Studio, click the green
Run
button to build and deploy the StarterSample to your headset.
Put on your headset to see the app running.
Next steps
Set up your first
Spatial SDK app
.
Troubleshooting
Android Studio fails to build and displays “Meta Spatial CLI not found”
Meta Spatial Editor must be installed on your computer for this sample to build successfully. Download it
here
.
Did you find this page helpful?
Build with Meta
Social Technologies
Meta Horizon
AI
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
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
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)
© 2026 Meta