Scaffolds new Meta Quest and Horizon OS projects with recommended settings for Unity, Unreal, Android/Spatial SDK, or WebXR. Use when creating a new Quest app from scratch.
npx skills add https://github.com/meta-quest/agentic-tools --skill hz-new-project-creation
Scaffold and configure new Meta Quest projects from scratch. This skill guides you through choosing the right platform and project type, then provides step-by-step setup instructions with recommended settings optimized for Quest hardware.
Use this skill when you need to:
Before creating any Meta Quest project, complete these steps regardless of platform:
npx -- The metavr CLI is invoked on demand; no global install required: npx -y metavr --version
Examples below use the bare metavr command for brevity; if it is not installed globally, replace metavr with npx -y metavr.
Verify your device connection before starting any project:
metavr device list
When a user wants to create a new Quest project, walk through these questions in order:
Ask the user which development platform they prefer or are most experienced with:
Ask what kind of application they are building:
| Type | Description | Best Platforms |
|------|-------------|----------------|
| Fully Immersive VR | Complete virtual environment, no passthrough | Unity, Unreal |
| Mixed Reality | Blend virtual content with real world via passthrough | Unity, Unreal, Spatial SDK |
| 2D Panel App | Flat UI panel floating in the user's space | Spatial SDK, Unity |
| Hybrid (2D + 3D) | Panels with optional 3D spatial content | Spatial SDK |
Identify which Quest-specific features the project needs:
| Platform | Best For | Language | 3D Engine | Learning Curve | Distribution |
|----------|----------|----------|-----------|----------------|--------------|
| Unity | Games, complex 3D, social VR | C# | Unity | Moderate | Quest Store, App Lab |
| Unreal Engine | High-fidelity visuals, cinematic | C++ / Blueprint | Unreal | Steep | Quest Store, App Lab |
| Spatial SDK | Android panel apps, hybrid apps | Kotlin | Custom ECS | Moderate | Quest Store, App Lab |
| IWSDK / WebXR | Web-based, quick prototyping | TypeScript | Three.js | Low | Web, PWA, Store (via Bubblewrap) |
Once the user has selected a platform, refer to the corresponding reference guide for detailed, step-by-step project setup:
metavr_unity_setup MCP tool to create the project. Do NOT run Unity CLI directly. Do NOT walk the user through manual Package Manager / XR Plug-in Management steps. See Unity Project Setup. Manual fallback at unity-project-manual.md only when the MCP tool is unavailable. (Note: this guidance applies to Quest/VR Unity projects only — for non-VR Unity projects use Unity Hub as normal.)Each reference covers:
These are common pitfalls when setting up new Quest projects.
gradle-wrapper.properties and build.gradle.com.company.appname package name before your first build and deploy.After the project is created and configured on any platform, these tasks are typically needed:
Create an application entry at developer.meta.com to obtain an App ID. This is required for platform features like entitlement checks, multiplayer, achievements, and store submission.
Initialize a Git repository and configure .gitignore for the chosen platform:
git init
# Use a platform-appropriate .gitignore (Unity, Unreal, Android, or Node.js)
Build the project and install it on a connected Quest device:
# After building, install the APK
metavr app install path/to/build.apk
# Launch the app
metavr app launch com.yourcompany.yourapp
# Monitor logs during first run
metavr log --tag yourapp
On first successful run, verify the application meets baseline performance targets:
metavr_unity_setup MCP toolGuide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
Next.js best practices - file conventions, RSC boundaries, data patterns, async APIs, metadata, error handling, route handlers, image/font optimization, bundling
Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
Take meta-quest/hz-new-project-creation from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npx.
Without those the skill loads but fails at the first command.