Learning and reference repository for OpenXR development on Meta Quest 3
This project offers self-contained OpenXR tutorial samples, organized by complexity from minimal setup to advanced features. Its main objective is to accelerate the onboarding process for software engineers who possess basic C/C++ familiarity but are new to the specifics of Mixed Reality technology. It also aims to provide a ready-made starting point for new development by demonstrating core OpenXR and MetaXR features in a simplified form.
This is a tutorial and learning repository, NOT a production development environment.
- Device: Meta Quest 3
- OS: Horizon OS v81 (Android API 34)
- Graphics: Vulkan 1.0.3+
- XR Runtime: OpenXR 1.0.34
Follow these steps to get started with the tutorial samples:
-
Set Up Your Environment: Before you can build and run the samples, you must configure your workstation. Follow the detailed instructions in the Environment Setup Guide.
-
Explore the Samples: Once your environment is ready, browse the available samples. We now have two main collections of samples:
-
OpenXR Tutorial Samples: Our core tutorial samples, including
hello_world(a great place to start) and a progressive tutorial series. -
Meta Quest Samples: Integrated official Meta OpenXR SDK samples, demonstrating Quest-specific features.
-
Build all samples from the repository root using the unified Gradle wrapper:
# Build all samples (OpenXR + Meta) - Debug
./gradlew.bat assembleAllDebug
# Build all samples - Release
./gradlew.bat assembleAllRelease
# Clean all samples
./gradlew.bat cleanAllOr build individual sample collections:
# OpenXR samples only
cd openxr && ./gradlew.bat assembleAllDebug
# Meta samples only
cd meta/Samples && ./gradlew.bat assembleAllDebugNote: The Gradle wrapper auto-downloads on first run (no pre-installation required).
For more detailed information, refer to the following documents:
- Environment Setup Guide: Detailed workstation and toolchain prerequisites.
- Repository Structure: An overview of the directory layout.
- Glossary: Definitions of key terms and concepts.
- AI Agent Instructions: Canonical entry points by tool — Claude Code: CLAUDE.md, Codex: AGENTS.md, Gemini: GEMINI.md.
Contributions are welcome! Please read our Contributing Guidelines for more details on how to get involved.
- MIT License: This project is licensed under the MIT License.
- Code of Conduct: We adhere to the Contributor Covenant code of conduct.