hz-new-project-creation
Skill200 starsChanged 53 days agoApache-2.0View on GitHub
Scaffolds new Meta VR and Horizon OS projects after the build path is selected — Standard Android, Meta Spatial SDK, Unity, Unreal, or WebXR. Use when creating a new Meta VR app from scratch. Build paths: all; use hz-quest-verify-first to choose the path.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- mirzaaghazadeh/unity-meta-quest-skillsword for word, first seen Nov 15, 2026
- mirzaaghazadeh/iwsdk-webxr-skillsword for word, first seen Oct 17, 2026
Other versions2 projects use a version of this.
Word for word · 2
- mirzaaghazadeh/iwsdk-webxr-skills★ 1100% same
- mirzaaghazadeh/unity-meta-quest-skills★ 1100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository37 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- hz-android-2d-portingSkill
- hz-api-upgradeSkill
- hz-immersive-designerSkill
- hz-iwsdk-webxrSkill
- hz-metavrx-layout-sdkSkill
- hz-metavrx-ui-setSkill
- hz-perfetto-debugSkill
- hz-platform-sdkSkill
- hz-psdk-integrationSkill
- hz-quest-verify-firstSkill
- hz-react-native-expoSkill
- hz-simpleperf-debugSkill
- hz-spatial-sdkSkill
- hz-store-pwaSkill
- hz-store-submitSkill
- hz-unity-code-reviewSkill
- hz-unity-device-readinessSkill
- hz-unity-face-trackingSkill
- hz-unity-fbx-importSkill
- hz-unity-meta-core-sdkSkill
- hz-unity-meta-interaction-sdkSkill
- hz-unity-meta-mixed-reality-utility-kitSkill
- hz-unity-meta-movement-sdk-retargetingSkill
- hz-unity-meta-quest-uiSkill
- hz-unity-passthrough-camera-accessSkill
- hz-unity-placementSkill
- hz-unity-platform-sdkSkill
- hz-unity-project-analyzerSkill
- hz-unity-sdk-upgradeSkill
- hz-unity-tmp-resourcesSkill
- hz-vr-debugSkill
- hz-xr-simulator-controlSkill
- hz-xr-simulator-install-and-configureSkill
- metavr-cliSkill
- portalSkill
The file
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 8 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 16
Use this skill when you need to:
- Distinctive: line 18
Create a brand-new project targeting Meta Quest (Quest 2, Quest 3, Quest 3S, Quest Pro) and Meta VR Glasses after selecting its build path
- Distinctive: line 21
Follow the setup workflow for a previously selected Standard Android, Meta Spatial SDK, Unity, Unreal Engine, or WebXR project
- Distinctive: line 25
Before creating any Meta VR project, complete these steps regardless of platform:
- Distinctive: line 36
Verify your device connection before starting any project:
- Very specific: line 44
Use hz-quest-verify-first to identify the build path before scaffolding.
- Distinctive: line 89
After the project is created and configured on any platform, these tasks are typically needed:
- Distinctive: line 93
Create an application entry at developer.meta.com to obtain an App ID.
- Distinctive: line 125
Thermal: No thermal throttling warnings during normal use
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
New Project Creation Skill
Scaffold and configure new Meta VR projects from scratch after the build path has been selected. This skill provides step-by-step setup instructions with recommended settings optimized for Meta VR hardware.
When to Use This Skill
Use this skill when you need to:
- Create a brand-new project targeting Meta Quest (Quest 2, Quest 3, Quest 3S, Quest Pro) and Meta VR Glasses after selecting its build path
- Configure a project with the correct render settings, SDK versions, and build targets for Meta VR
- Set up a project template with recommended architecture and folder structure
- Follow the setup workflow for a previously selected Standard Android, Meta Spatial SDK, Unity, Unreal Engine, or WebXR project
Prerequisites
Before creating any Meta VR project, complete these steps regardless of platform:
- Create a Meta developer account -- Sign up at developer.meta.com and create an organization.
- Set up your Meta VR device for development -- Enable developer mode in the Meta Horizon app on your phone under your headset's settings.
- Enable USB debugging -- Connect your Meta VR device via USB-C, put on the headset, and accept the "Allow USB debugging" prompt.
- Install metavr -- Install the standalone
metavrCLI binary on your PATH (see themetavr-cliskill), or invoke it on demand vianpxwith no install:
Examples below use the baremetavr --versionmetavrcommand; if you use the npm distribution, prefix withnpx -y.
Verify your device connection before starting any project:
metavr device listStart with the selected build path
Use hz-quest-verify-first to identify the build path before scaffolding. Do not
choose an SDK from a feature checklist: several paths can expose similar Meta VR
features, but they have different project structures and runtime models.
| Build path | Choose it when | Setup reference or skill |
| Standard Android | The app is primarily 2D UI in one resizable Horizon OS panel, implemented with Jetpack Compose, Android Views, React Native, or Expo. This is the default for a new 2D app; Spatial SDK is not required. | Standard Android project; use hz-react-native-expo for React Native or Expo |
| Meta Spatial SDK | The app needs an immersive scene, 3D entities, environment control, or hybrid 2D-and-3D content. | Spatial SDK project |
| Unity | The app is an immersive game or experience built in C#. | Unity project |
| Unreal Engine | The app is an immersive project built with C++ or Blueprints. | Unreal project |
| IWSDK / WebXR | The experience is web-based and should run in the browser or ship as a web app. | Web project |
After Choosing a Platform
Once the user has selected a platform, refer to the corresponding reference guide for detailed, step-by-step project setup:
- Unity (Meta VR) -- MUST use the
metavr_unity_setupMCP 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 Meta VR Unity projects only — for non-VR Unity projects use Unity Hub as normal.) - Unreal Engine -- Unreal Project Setup
- Standard Android -- Standard Android Project Setup; use
hz-react-native-expowhen the UI is implemented with React Native or Expo - Meta Spatial SDK -- Spatial SDK Project Setup
- Web / IWSDK / WebXR -- Web Project Setup
Each reference covers:
- Required tool and SDK versions
- Project creation steps
- Recommended project settings for Meta VR
- Build and deployment workflow
- Testing and iteration workflow
Gotchas
These are common pitfalls when setting up new Meta VR projects.
- Android API level mismatch -- For new immersive projects, start with minimum API 32 and target API 34. Check
hz-store-submitfor the minimum store-acceptance floor andhz-api-upgradefor the current target range; immersive and 2D panel apps differ. Setting the wrong API level is a common reason builds fail to install or upload. Unity defaults may not match these requirements — always verify in Player Settings > Other Settings and withmetavr docs search "target API". - ARM64 only, no x86 -- Meta VR devices are ARM64 (aarch64). If your build pipeline targets x86 or includes x86 native libraries, the APK will install but crash immediately on launch. In Unity, ensure "Target Architectures" has only ARM64 checked. In Android Studio, verify your ABI filters.
- Gradle version compatibility -- Meta's Android and Spatial SDK samples often pin compatible Gradle, Android Gradle Plugin, Kotlin, and KSP versions. Copy the complete version set from a current official template or sample; upgrading one independently can cause obscure build failures.
- Unity version matters -- Not every Unity version is compatible with the latest Meta XR SDK. Check the Meta XR SDK release notes for the supported Unity version range. Using an unsupported Unity version causes cryptic C# compilation errors or missing XR subsystem errors at runtime.
- Vulkan vs. OpenGL ES -- Quest 3 supports Vulkan and it is recommended for best performance. Quest 2 also supports Vulkan but some older Meta XR SDK features had Vulkan-only bugs. If you see rendering artifacts on Quest 2 with Vulkan, try OpenGL ES 3.0 as a fallback and file a bug.
- Missing Android manifest permissions -- Meta VR-specific features (hand tracking, passthrough, scene understanding, eye tracking) require explicit manifest permissions. The app will silently fail to access these features without the correct permissions. They are not added automatically by the SDK.
- Forgetting to set the package name before first build -- Changing the package name after the first install on a device can cause data loss or install failures. Set the correct
com.company.appnamepackage name before your first build and deploy. - Unreal Engine: OpenXR vs. OVRPlugin -- Unreal supports both the OpenXR backend and the legacy OVRPlugin backend for Quest. New projects should use OpenXR. Mixing plugins in the same project causes undefined behavior.
Common Post-Setup Tasks
After the project is created and configured on any platform, these tasks are typically needed:
Register the App on the Developer Dashboard
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.
Set Up Version Control
Initialize a Git repository and configure .gitignore for the chosen platform:
git init
# Use a platform-appropriate .gitignore (Unity, Unreal, Android, or Node.js)First Build and Deploy
Build the project and install it on a connected Meta VR 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 adb logcat --follow --tag yourappPerformance Baseline
On first successful run, verify the application meets baseline performance targets:
- Frame rate: 72 Hz minimum (90 Hz or 120 Hz preferred on Quest 3)
- Frame timing: Consistent frame times without spikes
- Thermal: No thermal throttling warnings during normal use
References
Skill References
- Unity Project Setup -- One-shot Unity project setup via the
metavr_unity_setupMCP tool- Unity Manual Setup (fallback) -- Step-by-step manual configuration; only needed when the MCP tool is unavailable
- Unreal Project Setup -- Step-by-step Unreal Engine project creation and configuration
- Standard Android Project Setup -- Create a 2D Horizon OS panel app without an immersive SDK
- Spatial SDK Project Setup -- Create an immersive or hybrid Android app with Meta Spatial SDK
- Web Project Setup -- Step-by-step IWSDK/WebXR project creation and configuration
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

