Not in the top 1,000 by GitHub stars
meta-quest/agentic-tools
Agent Skills for Meta Quest/Horizon OS VR Development
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/hz-android-2d-porting/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-api-upgrade/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-immersive-designer/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-iwsdk-webxr/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-metavrx-layout-sdk/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-metavrx-ui-set/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-new-project-creation/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-perfetto-debug/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-platform-sdk/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-psdk-integration/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-quest-verify-first/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-react-native-expo/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-simpleperf-debug/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-spatial-sdk/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-store-pwa/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-store-submit/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-unity-code-review/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-unity-device-readiness/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-unity-face-tracking/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-unity-fbx-import/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-unity-meta-core-sdk/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-unity-meta-interaction-sdk/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-unity-meta-mixed-reality-utility-kit/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-unity-meta-movement-sdk-retargeting/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-unity-meta-quest-ui/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-unity-passthrough-camera-access/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-unity-placement/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-unity-platform-sdk/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-unity-project-analyzer/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-unity-sdk-upgrade/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-unity-tmp-resources/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-vr-debug/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-xr-simulator-control/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/hz-xr-simulator-install-and-configure/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/metavr-cli/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
skills/portal/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
3a8553d10a5a → 3a8553d10a5a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 3a8553d10a5a
No earlier version was observed for comparison.
Verified commit 3a8553d10a5a1bd1bf9beaaa950243fbbed3b9ea
git clone --filter=blob:none --no-checkout https://github.com/meta-quest/agentic-tools.git .hotskills/meta-quest-agentic-tools && git -C .hotskills/meta-quest-agentic-tools checkout --detach 3a8553d10a5a1bd1bf9beaaa950243fbbed3b9ea
# Copy each selected skill directory from .hotskills/meta-quest-agentic-tools into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/meta-quest/agentic-tools.git .hotskills/meta-quest-agentic-tools && git -C .hotskills/meta-quest-agentic-tools checkout --detach 3a8553d10a5a1bd1bf9beaaa950243fbbed3b9ea
# Copy each selected skill directory from .hotskills/meta-quest-agentic-tools into .agents/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/meta-quest/agentic-tools.git .hotskills/meta-quest-agentic-tools && git -C .hotskills/meta-quest-agentic-tools checkout --detach 3a8553d10a5a1bd1bf9beaaa950243fbbed3b9ea
# Copy each selected skill directory from .hotskills/meta-quest-agentic-tools into .gemini/skills/<skill-name>/Heat
2.8- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- hz-android-2d-porting
skills/hz-android-2d-porting - hz-api-upgrade
skills/hz-api-upgrade - hz-immersive-designer
skills/hz-immersive-designer - hz-iwsdk-webxr
skills/hz-iwsdk-webxr - hz-metavrx-layout-sdk
skills/hz-metavrx-layout-sdk - hz-metavrx-ui-set
skills/hz-metavrx-ui-set - hz-new-project-creation
skills/hz-new-project-creation - hz-perfetto-debug
skills/hz-perfetto-debug - hz-platform-sdk
skills/hz-platform-sdk - hz-psdk-integration
skills/hz-psdk-integration - hz-quest-verify-first
skills/hz-quest-verify-first - hz-react-native-expo
skills/hz-react-native-expo - hz-simpleperf-debug
skills/hz-simpleperf-debug - hz-spatial-sdk
skills/hz-spatial-sdk - hz-store-pwa
skills/hz-store-pwa - hz-store-submit
skills/hz-store-submit - hz-unity-code-review
skills/hz-unity-code-review - hz-unity-device-readiness
skills/hz-unity-device-readiness - hz-unity-face-tracking
skills/hz-unity-face-tracking - hz-unity-fbx-import
skills/hz-unity-fbx-import - hz-unity-meta-core-sdk
skills/hz-unity-meta-core-sdk - hz-unity-meta-interaction-sdk
skills/hz-unity-meta-interaction-sdk - hz-unity-meta-mixed-reality-utility-kit
skills/hz-unity-meta-mixed-reality-utility-kit - hz-unity-meta-movement-sdk-retargeting
skills/hz-unity-meta-movement-sdk-retargeting - hz-unity-meta-quest-ui
skills/hz-unity-meta-quest-ui - hz-unity-passthrough-camera-access
skills/hz-unity-passthrough-camera-access - hz-unity-placement
skills/hz-unity-placement - hz-unity-platform-sdk
skills/hz-unity-platform-sdk - hz-unity-project-analyzer
skills/hz-unity-project-analyzer - hz-unity-sdk-upgrade
skills/hz-unity-sdk-upgrade - hz-unity-tmp-resources
skills/hz-unity-tmp-resources - hz-vr-debug
skills/hz-vr-debug - hz-xr-simulator-control
skills/hz-xr-simulator-control - hz-xr-simulator-install-and-configure
skills/hz-xr-simulator-install-and-configure - metavr-cli
skills/metavr-cli - portal
skills/portal
How it works
hz-android-2d-porting
When your agent uses it
Guides porting existing Android 2D apps to Meta VR and Horizon OS — input adaptation, panel layout, and design requirements. Use when adapting a mobile Android app for Meta VR. For UI design decisions, use hz-panel-designer if available. Build path: Standard Android; use hz-quest-verify-first if the build path is unclear.
What it loads into context
Frontmatter
108 tokensAlways available to the agent
SKILL.md
1,814 tokensWhen the skill is activated
Reference documents
7,996 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- Overview
- Porting Workflow
- Quick Compatibility Check
- Testing Tools
- Performance Considerations
- References
Files
../../.claude-plugin/marketplace.jsonasset816 bytes../../.claude-plugin/plugin.jsonasset835 bytesSKILL.mdcore8,324 bytesSKILL.mdcore8,324 bytesreferences/compatibility-requirements.mddoc10,282 bytesreferences/gradle-setup.mddoc11,217 bytesreferences/input-adaptation.mddoc6,410 bytesreferences/panel-layout.mddoc7,890 bytes
Read SKILL.md
# Android 2D App Porting to Horizon OS
## When to Use
Use this skill when:
- Porting an existing Android 2D app to run on Meta VR headsets
- Adapting a mobile Android app for Horizon OS panels
- Troubleshooting input, layout, or compatibility issues with a 2D app on Meta VR devices
- Preparing an Android app for Horizon Store submission
- Evaluating whether an existing Android app is compatible with Horizon OS
## Overview
View the complete source on GitHubhz-api-upgrade
When your agent uses it
Upgrades Meta VR apps to newer Horizon OS SDK versions — migration guides, deprecated API replacements, changelog. Use when updating SDK versions or fixing deprecated API warnings. Build paths: all Meta VR app stacks; use hz-quest-verify-first if the build path is unclear.
What it loads into context
Frontmatter
89 tokensAlways available to the agent
SKILL.md
1,594 tokensWhen the skill is activated
Reference documents
7,078 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- General Upgrade Workflow
- Platform-Specific Upgrade Paths
- Common Upgrade Issues
- Android SDK Targeting Requirement
- Using metavr for Documentation Lookup
- References
Files
SKILL.mdcore7,030 bytesSKILL.mdcore7,030 bytesSKILL.mdcore7,030 bytesSKILL.mdcore7,030 bytesSKILL.mdcore7,030 bytesSKILL.mdcore7,030 bytesreferences/api-changelog.mddoc5,924 bytesreferences/deprecation-guide.mddoc7,170 bytesreferences/sdk-migration.mddoc7,677 bytes../hz-unity-sdk-upgrade/SKILL.mddoc11,112 bytes
Read SKILL.md
# Horizon API Upgrade Skill
For Unity projects using the Meta XR SDK, use the dedicated
[`hz-unity-sdk-upgrade`](../hz-unity-sdk-upgrade/SKILL.md) skill. Continue
here for Unreal, native Android or Spatial SDK, Web or IWSDK, and general
cross-platform upgrade planning.
## When to Use
Use this skill when:
- Upgrading an existing Meta VR application to a newer Horizon OS SDK version
- Fixing deprecated API warnings or compilation errors after an SDK update
- Migrating between major API versions (e.g., VrApi to OpenXR)View the complete source on GitHubhz-immersive-designer
When your agent uses it
Guides design of comfortable, intuitive VR/MR experiences for Meta VR and Horizon OS — comfort guidelines, interaction patterns, spatial layout, accessibility. Use during UX design review or when evaluating comfort and accessibility. Build paths: Meta Spatial SDK, Unity, Unreal, native OpenXR, and WebXR; for 2D panel apps use hz-panel-designer if available. Use hz-quest-verify-first if the build path is unclear.
What it loads into context
Frontmatter
108 tokensAlways available to the agent
SKILL.md
2,351 tokensWhen the skill is activated
Reference documents
7,375 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- Core Design Principles
- Key Design Areas
- Quick Design Review Checklist
- Gotchas
- Reference Documents
- General Guidance for Design Reviews
Files
SKILL.mdcore11,596 bytesreferences/accessibility.mddoc10,501 bytesreferences/comfort-guidelines.mddoc8,130 bytesreferences/interaction-patterns.mddoc10,326 bytesreferences/spatial-layout.mddoc9,280 bytes
Read SKILL.md
# Immersive Designer
A knowledge skill for designing comfortable, intuitive, and accessible VR and MR experiences on Meta VR. This skill provides design principles, best practices, and review checklists for spatial computing UX.
## When to Use
- Designing new VR or MR experiences for Meta VR
- Reviewing UX decisions in existing Meta VR applications
- Evaluating comfort and usability of spatial interfaces
- Planning interaction models for immersive content
- Ensuring accessibility compliance in XR applications
- Advising on spatial layout, depth placement, and UI positioning
- Troubleshooting user comfort complaints such as motion sickness or eye strain
View the complete source on GitHubhz-iwsdk-webxr
When your agent uses it
Builds WebXR experiences for Meta VR and Horizon OS using the Immersive Web SDK (IWSDK) — ECS architecture, Three.js integration, spatial UI. Use when creating web-based VR/MR apps for Quest Browser.
What it loads into context
Frontmatter
79 tokensAlways available to the agent
SKILL.md
2,833 tokensWhen the skill is activated
Reference documents
8,592 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use This Skill
- What Is IWSDK
- Current Packaging And Tooling
- Quick Start
- AI-Assisted Development Loop
- Project Structure
- Key Patterns
- Gotchas
- Development Tips
- References
Files
SKILL.mdcore11,927 bytesSKILL.mdcore11,927 bytesSKILL.mdcore11,927 bytesSKILL.mdcore11,927 bytesreferences/ai-assisted-development.mddoc2,507 bytesreferences/desktop-load-profiling.mddoc4,690 bytesreferences/ecs-architecture.mddoc6,643 bytesreferences/input-handling.mddoc6,099 bytesreferences/performance-tips.mddoc11,255 bytesreferences/spatial-ui.mddoc4,441 bytes
Read SKILL.md
# IWSDK WebXR Skill
Build immersive WebXR experiences for Meta VR using Meta's Immersive Web
SDK (IWSDK). This skill covers the current package layout, ECS architecture,
Three.js integration, spatial UI development, XR input handling, and the
recommended Vite-based development loop.
## When to Use This Skill
Use this skill when you need to:
- Build a WebXR experience targeting Meta VR using IWSDK
- Create 3D scenes using the ECS architecture on top of Three.js
- Design spatial UI panels with UIKitML and `PanelUI`View the complete source on GitHubhz-metavrx-layout-sdk
When your agent uses it
Build multi-window Meta Horizon OS experiences with the MetaVrx Layout SDK in Jetpack Compose or React Native. Covers framework selection, setup, anchoring, semantic offsets, window promotion, fallback, priority, lifecycle, and theming. Use for apps that need multiple app-owned panels without an immersive scene. Build path: Standard Android, including React Native; use hz-quest-verify-first if the path is unclear, and do not use this skill for immersive Spatial SDK scenes.
What it loads into context
Frontmatter
116 tokensAlways available to the agent
SKILL.md
744 tokensWhen the skill is activated
Reference documents
10,939 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Choose the framework first
- Mental model
- Read what you need
Files
SKILL.mdcore3,419 bytesreferences/compose-api-reference.mddoc6,344 bytesreferences/compose-build-buck.mddoc3,169 bytesreferences/compose-floating-window.mddoc3,904 bytesreferences/compose-focus-mode.mddoc1,953 bytesreferences/compose-getting-started.mddoc3,591 bytesreferences/compose-lifecycle.mddoc3,137 bytesreferences/compose-placement-and-fallback.mddoc7,506 bytesreferences/compose-theming.mddoc1,537 bytesreferences/compose-window-clip.mddoc993 bytesreferences/react-native-api-reference.mddoc6,236 bytesreferences/react-native-getting-started.mddoc1,332 bytesreferences/react-native-lifecycle.mddoc3,291 bytesreferences/react-native-placement-and-fallback.mddoc2,922 bytes
Read SKILL.md
# MetaVrx Layout SDK
Use the Layout SDK when a Standard Android app needs multiple app-owned panels on Meta Horizon OS. It preserves the app's existing Android UI framework. Do not add Meta Spatial SDK unless the app needs an immersive scene, 3D entities, or full environment control.
## Choose the framework first
| Existing app UI | API style | Start here |
|---|---|---|
| Jetpack Compose | `SpatialScene`, `SpatialWindow`, `WindowModifier` | [Compose setup](references/compose-getting-started.md) and [Compose API](references/compose-api-reference.md) |
| React Native | `SpatialSceneProvider`, `SpatialWindow`, props and hooks | [React Native setup](references/react-native-getting-started.md) and [React Native API](references/react-native-api-reference.md) |
The app's UI framework dictates which set of references to continue with. The
Jetpack Compose and React Native APIs are intended to strive for behavioral and
conceptual parity across platforms.View the complete source on GitHubhz-metavrx-ui-set
When your agent uses it
Builds app UI for Meta VR and Horizon OS with the MetaVrx UI Set, a Jetpack Compose component library and design system. Covers UiSetTheme, buttons, cards, controls, dialogs, dropdowns, inputs, side navigation, sliders, tooltips, the Icons.Regular library, Gradle setup, and migration from the Spatial SDK UI Set. Build path: Standard Android; use hz-quest-verify-first if the path is unclear.
What it loads into context
Frontmatter
111 tokensAlways available to the agent
SKILL.md
1,266 tokensWhen the skill is activated
Reference documents
7,383 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Mental model
- Rules that bite
- Read what you need
Files
SKILL.mdcore5,448 bytesreferences/components.mddoc7,900 bytesreferences/icons.mddoc3,151 bytesreferences/integration.mddoc4,003 bytesreferences/migration.mddoc6,577 bytesreferences/theming.mddoc10,527 bytes
Read SKILL.md
# Using the Meta VR UI Set
UISet is a Jetpack Compose component library and design system for Android apps
on Meta Horizon OS. Its dark and light themes ship Meta VR typography, shapes,
density, interaction states, and semantic colors complete and usable with no
configuration. Everything public lives under `metavrx.uiset.compose` and its
subpackages.
It ships as the Maven artifact `com.meta.metavrx.uiset:uiset-compose-compat`.
This skill uses **progressive disclosure**: this page is the map — load the one
reference file that matches your task.
## Mental modelView the complete source on GitHubhz-new-project-creation
When your agent uses it
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.
What it loads into context
Frontmatter
110 tokensAlways available to the agent
SKILL.md
2,020 tokensWhen the skill is activated
Reference documents
11,272 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use This Skill
- Prerequisites
- Start with the selected build path
- After Choosing a Platform
- Gotchas
- Common Post-Setup Tasks
- References
Files
SKILL.mdcore9,127 bytesSKILL.mdcore9,127 bytesSKILL.mdcore9,127 bytesSKILL.mdcore9,127 bytesSKILL.mdcore9,127 bytesreferences/android-project.mddoc4,353 bytesreferences/spatial-sdk-project.mddoc11,334 bytesreferences/unity-project-manual.mddoc5,858 bytesreferences/unity-project.mddoc7,006 bytesreferences/unreal-project.mddoc9,241 bytesreferences/web-project.mddoc9,145 bytes
Read SKILL.md
# 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 projectView the complete source on GitHubhz-perfetto-debug
When your agent uses it
Analyzes Meta VR and Horizon OS VR performance using Perfetto traces — frame timing, CPU/GPU bottlenecks, render pass analysis. Use when profiling frame drops, jank, or thermal issues on Meta VR devices. Build paths: all Meta VR app stacks; use hz-quest-verify-first if the build path is unclear.
What it loads into context
Frontmatter
107 tokensAlways available to the agent
SKILL.md
2,781 tokensWhen the skill is activated
Reference documents
9,734 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- VR Frame Time Targets
- metavr Setup
- Quick Start Workflow
- Detailed Analysis Workflow
- Key Perfetto Concepts
- Performance Targets
- Engine-Specific Notes
- Common Pitfalls
- References
Files
SKILL.mdcore11,186 bytesSKILL.mdcore11,186 bytesSKILL.mdcore11,186 bytesSKILL.mdcore11,186 bytesSKILL.mdcore11,186 bytesSKILL.mdcore11,186 bytesSKILL.mdcore11,186 bytesSKILL.mdcore11,186 bytesSKILL.mdcore11,186 bytesreferences/analyzing-traces.mddoc6,529 bytesreferences/capturing-traces.mddoc5,199 bytesreferences/frame-timing.mddoc7,097 bytesreferences/gpu-analysis.mddoc7,942 bytesreferences/sql-queries.mddoc10,063 bytes
Read SKILL.md
# Perfetto Debug Skill
## When to Use
Use this skill when investigating VR performance issues on Meta VR devices:
- Frame drops, jank, or stuttering
- CPU or GPU bottlenecks
- Render pass overhead and GPU utilization
- Thermal throttling and clock frequency changes
- Frame timing variance and missed vsync deadlines
- Thread contention and synchronization issues
- High draw call counts or overdraw
View the complete source on GitHubhz-platform-sdk
When your agent uses it
Guides integration of the Horizon Platform SDK for Meta VR and Horizon OS Android/Kotlin apps — achievements, IAP, users, leaderboards, presence, notifications, abuse reporting, entitlements, asset files, application lifecycle, consent, device integrity, language packs, user age categories, and rate and review. Covers setup, initialization, API usage, data types, error handling, and best practices for all 17 public platform SDK packages. Build paths: Standard Android and Meta Spatial SDK; use hz-psdk-integration for guided integration, hz-unity-platform-sdk for Unity/C#, and hz-quest-verify-first if the path is unclear.
What it loads into context
Frontmatter
148 tokensAlways available to the agent
SKILL.md
885 tokensWhen the skill is activated
Reference documents
63,609 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- Quick Start
- Available APIs
- How to Use
Files
SKILL.mdcore4,071 bytesreferences/abuse-report.mddoc2,540 bytesreferences/achievements.mddoc22,775 bytesreferences/application-lifecycle.mddoc17,793 bytesreferences/application.mddoc23,677 bytesreferences/asset-file.mddoc22,055 bytesreferences/common-setup.mddoc4,833 bytesreferences/consent.mddoc15,121 bytesreferences/device-application-integrity.mddoc10,627 bytesreferences/entitlements.mddoc10,186 bytesreferences/group-presence.mddoc32,068 bytesreferences/iap.mddoc22,719 bytesreferences/language-pack.mddoc16,801 bytesreferences/leaderboards.mddoc22,565 bytesreferences/notifications.mddoc15,599 bytesreferences/rate-and-review.mddoc10,468 bytesreferences/rich-presence.mddoc15,307 bytesreferences/user-age-category.mddoc11,272 bytesreferences/users.mddoc13,902 bytes
Read SKILL.md
# Horizon Platform SDK - Android/Kotlin Integration Guide
This is the API-reference skill for the **Standard Android and Meta Spatial SDK
Android/Kotlin build paths**.
For a guided codebase-analysis and integration workflow, use
`hz-psdk-integration`. For Unity/C#, use `hz-unity-platform-sdk` instead.
## When to Use
Use this skill when a developer:
- Wants to integrate any Horizon Platform SDK feature in a Meta VR Android/Kotlin application
- Asks about setup, initialization, or dependencies for the SDK
- Needs help with a specific public platform API (achievements, IAP, users, etc.)
- Is troubleshooting errors or status codes from any SDK packageView the complete source on GitHubhz-psdk-integration
When your agent uses it
Guides interactive Horizon Platform SDK (PSDK) integration for Meta VR and Horizon OS Android/Kotlin apps — analyzes the codebase, recommends public platform features, plans the integration, and validates on device. Use for workflow guidance; use hz-platform-sdk for the detailed API reference. Build paths: Standard Android and Meta Spatial SDK; use hz-quest-verify-first if the path is unclear.
What it loads into context
Frontmatter
156 tokensAlways available to the agent
SKILL.md
5,697 tokensWhen the skill is activated
Reference documents
36,316 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Important References
- Prerequisites
- Common Pitfalls
- Step 0 — Introduction
- Step 1 — Locate the Codebase
- Step 2 — Deep Codebase Exploration
- Step 3 — Suggest PSDK Features
- Step 4 — User Selects Features
- Step 5 — Per-Feature Integration
- Completion Summary
- Architecture Patterns
- Rules
Files
SKILL.mdcore24,260 bytesSKILL.mdcore24,260 bytesSKILL.mdcore24,260 bytesSKILL.mdcore24,260 bytesreferences/abuse-report.mddoc2,540 bytesreferences/achievements.mddoc7,964 bytesreferences/application-lifecycle.mddoc7,459 bytesreferences/application.mddoc7,639 bytesreferences/architecture-patterns.mddoc6,409 bytesreferences/asset-file.mddoc7,483 bytesreferences/common-setup.mddoc4,833 bytesreferences/consent.mddoc7,438 bytesreferences/data-use-checkup.mddoc4,107 bytesreferences/device-application-integrity.mddoc7,160 bytesreferences/entitlements.mddoc5,955 bytesreferences/group-presence-errors.mddoc5,094 bytesreferences/group-presence-invites.mddoc7,652 bytesreferences/group-presence.mddoc6,374 bytesreferences/iap.mddoc8,011 bytesreferences/language-pack.mddoc7,494 bytesreferences/leaderboards.mddoc7,471 bytesreferences/notifications.mddoc7,444 bytesreferences/push-notification.mddoc4,520 bytesreferences/rate-and-review.mddoc6,204 bytesreferences/rich-presence.mddoc7,202 bytesreferences/user-age-category.mddoc6,634 bytesreferences/users.mddoc8,158 bytes
Read SKILL.md
# PSDK Feature Integration Wizard
> **This skill requires interactive mode.** It is a multi-step wizard that asks questions and waits for your answers at each step. Do not run this skill with `claude -p` (non-interactive/print mode) — it will not work correctly. Use an interactive Claude Code session instead. (Exception: an evaluation harness may declare a non-interactive run. That turns each gate into a recorded outcome; it does not remove the gate — see the **Interactive mode check** below.)
You are an interactive integration wizard that helps developers add Horizon Platform SDK (PSDK) features to their Android/Meta VR applications. Follow the steps below **exactly in order**. Never skip a step. Never guess missing information — always ask (under a declared evaluation run, take the answer from the task prompt or a documented default and record that you did; report what is missing rather than inventing it — see the **Interactive mode check** below).
**Interactive mode check:** This skill normally requires interactive mode.
### Automated-evaluation exception
An evaluation or CI harness may run this skill non-interactively. One thing admits a run — the **task prompt** carries an explicit declaration line:
HZ_PSDK_WIZARD_EVAL: <run-or-task-id>
View the complete source on GitHubhz-quest-verify-first
When your agent uses it
MANDATORY pre-flight check before answering any question or writing any code related to Meta Quest VR headsets (Quest 2, Quest 3, Quest 3S, Quest Pro) or apps that target them. Forces verification against authoritative Meta sources via the metavr CLI / metavr MCP tools BEFORE relying on training-data knowledge. Counters the failure mode where agents answer Quest-related questions from stale memory and ship deprecated APIs, broken Android manifests, and store-rejected builds. Loads automatically when the user is in a Quest project (any reference to Oculus / Meta Quest / Horizon OS, Unity OVR or Meta XR packages, com.meta.* / com.oculus.* package IDs, Quest-targeted AndroidManifest, .meta files, or developers.meta.com / developer.oculus.com URLs). Build paths: all; use this skill first whenever the path is unknown or a Quest-specific claim is involved.
What it loads into context
Frontmatter
234 tokensAlways available to the agent
SKILL.md
3,864 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What you need to know before reading the rest of this
- Why this skill exists
- When this skill applies
- The verification flow
- Specific failure modes you cause by skipping verification
- Anti-patterns
- Tone and presentation
- If the metavr MCP tools are not available
- Related skills
Files
SKILL.mdcore16,271 bytesSKILL.mdcore16,271 bytesSKILL.mdcore16,271 bytesSKILL.mdcore16,271 bytesSKILL.mdcore16,271 bytesSKILL.mdcore16,271 bytesSKILL.mdcore16,271 bytes
Read SKILL.md
# Verify First — Meta Quest Development
## What you need to know before reading the rest of this
You are about to be told to call tools you may not recognize by name. Read
this section first so the rest makes sense.
- **Meta Quest** is Meta's line of standalone VR / mixed-reality headsets
(Quest 2, Quest 3, Quest 3S, Quest Pro). They run an Android-based OS.
- **Horizon OS** is the name of that operating system. It is forked from
Android, ships on every Quest headset, and Meta updates it on its own
cadence (separate from upstream Android). Many APIs are Horizon-OS-specific
and have no analog in stock Android.
- **metavr** ("Meta VR CLI") is a Rust CLI tool published by Meta as aView the complete source on GitHubhz-react-native-expo
When your agent uses it
Build and iterate on React Native apps for Meta VR / Horizon OS with Expo. Covers the fast dev loop — install Expo Go from the Meta Horizon Store, run a Metro dev server, load its bundle URL on the headset, and get live Fast Refresh — plus the full development-build path with the expo-horizon-core config plugin, prebuild, Quest product flavors, and the Horizon-forked libraries (location, notifications, IAP). Use when the user wants to build or run a Meta VR app in React Native/Expo, load a JS bundle URL on a headset, set up expo-horizon-core, or get live reload on device. Build path: Standard Android with React Native; use hz-quest-verify-first if the path is unclear.
What it loads into context
Frontmatter
208 tokensAlways available to the agent
SKILL.md
2,816 tokensWhen the skill is activated
Reference documents
17,398 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Two ways to run on the headset
- Prerequisites
- Path A — Fast loop with Expo Go + a bundle URL
- Path B — Full setup with expo-horizon-core (development build)
- Driving the loop with an agent
- Publishing
- Gotchas
- References
Files
../hz-new-project-creation/SKILL.mddoc9,127 bytesSKILL.mdcore11,224 bytesSKILL.mdcore11,224 bytesSKILL.mdcore11,224 bytesSKILL.mdcore11,224 bytesSKILL.mdcore11,224 bytesSKILL.mdcore11,224 bytesSKILL.mdcore11,224 bytesSKILL.mdcore11,224 bytesreferences/dev-loop.mddoc5,328 bytesreferences/expo-horizon-core-setup.mddoc4,721 bytesreferences/horizon-libraries.mddoc3,602 bytes../hz-store-submit/SKILL.mddoc11,946 bytes../hz-vr-debug/SKILL.mddoc19,018 bytes../metavr-cli/SKILL.mddoc7,400 bytes../portal/SKILL.mddoc13,450 bytes
Read SKILL.md
# React Native on Meta VR with Expo
Build React Native apps for Meta VR / Horizon OS using Expo — the tooling Meta
recommends for React Native on Meta VR. This skill focuses on the **development
loop**: get your JS running on the headset and iterating with live reload, then
graduate to a full Meta VR development build when you need native Horizon features.
A Meta VR RN app renders as a **2D panel** in Horizon OS. This is Android app
development, so the headset-setup, ADB, and device basics live in other skills —
this skill references them instead of repeating them (see
[`hz-new-project-creation`](../hz-new-project-creation/SKILL.md) for developer-mode
and dashboard setup, [`metavr-cli`](../metavr-cli/SKILL.md) for device/ADB
commands, and [`portal`](../portal/SKILL.md) for the Android build toolchain).
View the complete source on GitHubhz-simpleperf-debug
When your agent uses it
Profiles Meta VR and Horizon OS application CPU performance using simpleperf — workload classification, CPU hotspot recording, kernel overhead measurement. Use when diagnosing whether an app is CPU-bound, memory-bound, or I/O-bound on Meta VR devices. Build paths: all Meta VR app stacks; use hz-quest-verify-first if the build path is unclear.
What it loads into context
Frontmatter
102 tokensAlways available to the agent
SKILL.md
1,744 tokensWhen the skill is activated
Reference documents
3,054 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- VR Performance Context
- metavr Setup
- Quick Start Workflow
- Analysis Workflow
- Common Pitfalls
- References
Files
SKILL.mdcore7,838 bytesSKILL.mdcore7,838 bytesSKILL.mdcore7,838 bytesSKILL.mdcore7,838 bytesSKILL.mdcore7,838 bytesSKILL.mdcore7,838 bytesSKILL.mdcore7,838 bytesSKILL.mdcore7,838 bytesreferences/cpu-hotspot-analysis.mddoc4,074 bytesreferences/kernel-overhead.mddoc4,141 bytesreferences/workload-classification.mddoc4,259 bytes
Read SKILL.md
# Simpleperf Debug Skill
## When to Use
Use this skill when you need hardware-level CPU performance insights on Meta VR devices:
- Classifying whether an app is CPU-bound, memory-bound, or I/O-bound
- Finding CPU hotspot functions consuming the most cycles
- Measuring kernel vs userspace CPU overhead per thread
- Identifying cache-thrashing or branch-prediction issues
- Supplementing Perfetto trace analysis with hardware PMU counter data
This skill complements `hz-perfetto-debug`. Perfetto shows *what* your app is doing over time. Simpleperf shows *where* the CPU is spending hardware cycles — cache misses, branch mispredictions, and instruction throughput that Perfetto can't see.
View the complete source on GitHubhz-spatial-sdk
When your agent uses it
Builds spatial Android apps for Meta VR and Horizon OS with Meta Spatial SDK — ECS architecture, 2D panels, 3D objects, hybrid experiences. Use when creating Kotlin-based spatial applications. Build path: Meta Spatial SDK; use hz-quest-verify-first if the build path is unclear.
What it loads into context
Frontmatter
94 tokensAlways available to the agent
SKILL.md
3,006 tokensWhen the skill is activated
Reference documents
9,783 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use This Skill
- What is Meta Spatial SDK
- Key Concepts
- Quick Start
- Architecture Overview
- Gradle Dependencies
- Manifest Configuration
- References
Files
SKILL.mdcore12,949 bytesSKILL.mdcore12,949 bytesreferences/architecture-guide.mddoc11,595 bytesreferences/debugging.mddoc9,918 bytesreferences/interaction-sdk.mddoc10,228 bytesreferences/panels-and-3d.mddoc10,110 bytes
Read SKILL.md
# Spatial SDK Skill
Build native Android spatial applications for Meta VR using the Meta Spatial SDK. This skill covers the Entity-Component-System architecture, 2D panel rendering, 3D object placement, hybrid app development, and deployment to Horizon OS devices.
## When to Use This Skill
Use this skill when you need to:
- Build a native Android app for Meta VR using the Spatial SDK and Kotlin
- Create hybrid experiences that combine 2D Android UI panels with 3D content
- Work with the Entity-Component-System (ECS) architecture in Spatial SDK
- Add 3D objects, animations, or spatial interactions to a Meta VR application
- Configure panels using Jetpack Compose or Android Views for spatial rendering
- Use the Spatial Editor to compose 3D scenes visuallyView the complete source on GitHubhz-store-pwa
When your agent uses it
Guides shipping a web app to the Meta VR and Horizon OS Store as a PWA/TWA — both 2D windowed panels and immersive WebXR/VR. Covers building the web app (IWSDK for WebXR, any responsive PWA for 2D), Vercel deploy, web app manifest + icons, the WebXR-only auto-enter-session step, choosing 2D vs immersive mode in @meta-quest/bubblewrap-cli, keystore/Digital-Asset-Links, and ovr-platform-util Store upload. Use before any IWSDK/WebXR build, PWA packaging, bubblewrap, or Horizon Store upload work.
What it loads into context
Frontmatter
172 tokensAlways available to the agent
SKILL.md
3,923 tokensWhen the skill is activated
Reference documents
4,850 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use This Skill
- Pipeline Overview
- Step 0: Pick the App Mode First
- Step 1: Build the Web App
- Step 2: Deploy to Vercel
- Step 3: PWA Manifest + Icons
- Step 4: Package as a Meta VR APK (bubblewrap)
- Step 5: Upload to the Meta Horizon Store
- Order of Operations
- Gotchas
- References
Files
SKILL.mdcore14,563 bytesSKILL.mdcore14,563 bytesSKILL.mdcore14,563 bytesSKILL.mdcore14,563 bytesSKILL.mdcore14,563 bytesSKILL.mdcore14,563 bytesSKILL.mdcore14,563 bytesSKILL.mdcore14,563 bytesSKILL.mdcore14,563 bytesreferences/app-modes.mddoc3,974 bytesreferences/bubblewrap-packaging.mddoc5,341 bytesreferences/manifest-and-icons.mddoc2,002 bytesreferences/store-upload.mddoc1,705 bytesreferences/troubleshooting.mddoc3,149 bytesreferences/vercel-deploy.mddoc1,650 bytes
Read SKILL.md
# Store PWA/TWA Skill
Guide the end-to-end process of wrapping a web app as a Meta VR app and shipping
it to the Meta Horizon Store. This skill covers both delivery modes — a **2D
windowed panel** and an **immersive WebXR/VR** experience — through the same
pipeline: build the web app, deploy to Vercel, add a PWA manifest + icons, package
as a signed Meta VR APK with `@meta-quest/bubblewrap-cli`, and upload with
`ovr-platform-util`.
Commands use `<…>` tokens (e.g. `<DOMAIN>`, `<HORIZON_APP_ID>`, `<team-slug>`,
`<PW>`) — substitute your own values before running.
## When to Use This Skill
View the complete source on GitHubhz-store-submit
When your agent uses it
Guides end-to-end Meta VR and Horizon OS app submission to the Meta Horizon Store — build validation, store-readiness checks, asset preparation, upload, and submission tracking. Use when preparing a Meta VR app for store publishing. Build paths: all Meta VR app stacks; use hz-quest-verify-first if the build path is unclear.
What it loads into context
Frontmatter
101 tokensAlways available to the agent
SKILL.md
2,673 tokensWhen the skill is activated
Reference documents
1,635 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use This Skill
- Submission Workflow Overview
- Step 1: Build Validation
- Step 2: Store Readiness Checks
- Step 3: Asset Preparation
- Step 4: Dashboard Setup
- Step 5: Upload
- Step 6: Submit for Review
- Step 7: Tracking
- Gotchas
- References
Files
SKILL.mdcore11,946 bytesSKILL.mdcore11,946 bytesSKILL.mdcore11,946 bytesSKILL.mdcore11,946 bytesSKILL.mdcore11,946 bytesreferences/rejection-troubleshooting.mddoc4,148 bytesreferences/submission-checklist.mddoc3,040 bytes
Read SKILL.md
# Store Submission Skill
Guide the end-to-end process of submitting a Meta VR application to the Meta Horizon Store. This skill covers build validation, store-readiness checks, store asset preparation, upload, and submission tracking.
## When to Use This Skill
Use this skill when you need to:
- Prepare a Meta VR app build for store submission
- Validate that an APK meets the Horizon Store's publishing requirements before uploading
- Prepare and validate store listing assets (icons, screenshots, videos, descriptions)
- Walk through the submission workflow on the developer dashboard
- Track a submission through the review process
- Troubleshoot submission rejectionsView the complete source on GitHubhz-unity-code-review
When your agent uses it
Reviews Unity code targeting Meta VR and Horizon OS for performance issues, rendering best practices, and common VR pitfalls. Use during code review or when diagnosing Meta VR performance problems in Unity projects.
What it loads into context
Frontmatter
70 tokensAlways available to the agent
SKILL.md
1,893 tokensWhen the skill is activated
Reference documents
9,944 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- Key Review Areas
- Quick Review Checklist
- What to Look For in Code
- Using metavr for Validation
- Reference Documents
Files
SKILL.mdcore8,187 bytesSKILL.mdcore8,187 bytesreferences/common-pitfalls.mddoc13,239 bytesreferences/input-handling.mddoc9,575 bytesreferences/performance-checklist.mddoc8,871 bytesreferences/rendering-best-practices.mddoc10,489 bytes
Read SKILL.md
# Unity Code Review for Meta VR
## When to Use
Use this skill when reviewing Unity C# code or project settings that target Meta VR headsets. This includes:
- Reviewing scripts for VR performance issues
- Checking rendering pipeline configuration and settings
- Ensuring adherence to Meta VR-specific best practices
- Identifying common VR development pitfalls
- Validating input handling for controllers, hands, and eye tracking
- Auditing memory usage and GC allocation patterns
## Key Review AreasView the complete source on GitHubhz-unity-device-readiness
When your agent uses it
Audits a Unity project for Meta VR Glasses readiness across input and field of view — finds controller-dependent interactions such as OVRInput usage, recommends hand-tracking and ISDK controller-to-hands migrations, produces a prioritized migration plan, and detects head-locked UI that a narrower FoV would clip.
What it loads into context
Frontmatter
82 tokensAlways available to the agent
SKILL.md
2,194 tokensWhen the skill is activated
Reference documents
2,881 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Context
- Analysis Workflow
- Output Format
- Key References
- Important Notes
- Field-of-View Readiness (Head-Locked UI)
Files
SKILL.mdcore9,844 bytesSKILL.mdcore9,844 bytesSKILL.mdcore9,844 bytesreferences/hand-tracking-patterns.mddoc8,297 bytesreferences/migration-guide.mddoc4,159 bytes
Read SKILL.md
# Device Readiness
## Context
This skill prepares a Unity project for Meta VR Glasses device requirements across two dimensions: **input** (hand tracking as the primary input, not a fallback) and **field of view** (a device with a narrower FoV than current Quest headsets). The input workflow is immediately below; the field-of-view workflow is its own section further down.
The target device treats hand tracking as the primary input method, not a fallback. Most existing Quest projects were built controller-first, so the work isn't just "replace button presses with gestures" — it's rethinking interaction design so hands feel natural instead of like a worse controller. A systematic scan matters: find every controller dependency, understand the gameplay intent behind it, and map it to the right ISDK pattern.
When a Meta VR Glasses or Meta Quest device is connected, ground the audit in real device data first — `metavr device list` shows what's attached, and `metavr device info <id>` reports the device's input and display capabilities the audit should target.
## Analysis Workflow
### Step 1: Scan the Project
View the complete source on GitHubhz-unity-face-tracking
When your agent uses it
Drive ARKit-blendshape-rigged head/face models in Unity with the wearer's facial expressions on Meta VR via Meta Movement SDK (face tracking + A2E). Use when a user has an FBX with the 52 ARKit blendshapes (any prefix, _L/_R suffixes) and wants it to animate from face tracking on Quest Pro / Quest 3 / Quest 3S.
What it loads into context
Frontmatter
104 tokensAlways available to the agent
SKILL.md
3,791 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use
- Prerequisites checklist
- Approach (high level)
- Eye tracking (DO THIS — face expressions alone don't work)
- Step-by-step
- Troubleshooting
- ARKit ↔ OVR FaceExpression mapping (reference)
- Files in this skill
- Why this approach (vs. alternatives)
Files
SKILL.mdcore14,904 bytesSKILL.mdcore14,904 bytesSKILL.mdcore14,904 bytesSKILL.mdcore14,904 bytesSKILL.mdcore14,904 bytesreferences/ARKitEyeGazeBlendshapeDriver.csasset5,653 bytesreferences/ARKitOVRCustomFace.csasset7,301 bytes
Read SKILL.md
# Unity Face Tracking for ARKit-Rigged Models (Meta Movement SDK)
End-to-end recipe to make a head/face model rigged with the standard 52 ARKit blendshapes animate from the wearer's face on Meta VR. Uses the **public** `OVRCustomFace` extension hook — no `OVR_INTERNAL_CODE`, ships to 3P.
The model's blendshape names must follow the ARKit naming convention (camelCase, `_L`/`_R` suffixes, e.g. `eyeBlink_L`, `jawOpen`, `mouthSmile_R`). An optional prefix like `blendShape2.eyeBlink_L` is automatically stripped.
## When to use
- User has an FBX/GLB/mesh with ARKit-named blendshapes and wants it driven by Meta VR face tracking.
- User asks: "animate this head with my face", "drive these blendshapes from face tracking", "use Movement SDK A2E with my model", "wire ARKit shapes to Meta VR".
- Target device: Quest Pro, Quest 3, Quest 3S (Quest 2 is no-op — no face cameras).
## Prerequisites checklist
View the complete source on GitHubhz-unity-fbx-import
When your agent uses it
Ensures complete FBX URLs or absolute paths are used when importing external 3D models into Unity projects targeting Meta VR and Horizon OS. Use when adding FBX files, 3D models, or external assets.
What it loads into context
Frontmatter
63 tokensAlways available to the agent
SKILL.md
2,756 tokensWhen the skill is activated
Reference documents
2,589 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- Core principle
- Instructions
- Handling user-provided paths
- Best practices
- Error prevention checklist
- Alternative: the MCP one-shot importer
- Quick reference
- Integration with other skills
- Remember
Files
FALLBACK_MANUAL_IMPORT.mddoc3,610 bytesSKILL.mdcore10,993 bytesSKILL.mdcore10,993 bytesSKILL.mdcore10,993 bytesSKILL.mdcore10,993 bytesSKILL.mdcore10,993 bytesSKILL.mdcore10,993 bytesSKILL.mdcore10,993 bytesSKILL.mdcore10,993 bytesSKILL.mdcore10,993 bytesSKILL.mdcore10,993 bytesSKILL.mdcore10,993 bytesSKILL.mdcore10,993 bytesSKILL.mdcore10,993 bytesSKILL.mdcore10,993 bytesSKILL.mdcore10,993 bytesreferences/manual-import-pipeline.mddoc3,952 bytesreferences/unity-mcp-fallback.mddoc3,377 bytes
Read SKILL.md
# Unity FBX Import with Full URLs
Importing an external 3D model fails most often for one reason: an incomplete source path. This skill
ensures every FBX source is a **complete, fully-qualified URL or absolute filesystem path**, and walks
the import through `unity-cli`.
## When to use this skill
Use this skill automatically whenever:
- Importing FBX files from external sources
- Adding 3D models to the Unity project
- Loading assets from URLs or file paths
- User mentions: "import model", "add FBX", "load 3D asset", "bring in model"
View the complete source on GitHubhz-unity-meta-core-sdk
When your agent uses it
Meta XR Core SDK (com.meta.xr.sdk.core) for Unity XR development. Use when setting up VR/MR projects, configuring OVRManager, adding OVRCameraRig, enabling passthrough, hand tracking, spatial anchors, boundaryless mode, controller input, Scene API, or any Meta VR feature. Covers OVRProjectSetup, AndroidManifest generation, and project configuration for Meta VR devices, driven against a live Editor with unity-cli.
What it loads into context
Frontmatter
109 tokensAlways available to the agent
SKILL.md
3,057 tokensWhen the skill is activated
Reference documents
13,697 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Running SDK code — drive a live Editor with `unity-cli`
- Finding the SDK Source
- CRITICAL: After Any OVRProjectConfig or OVRManager Feature Change
- Quick Reference
- OVRCameraRig: The Primary XR Rig
- OVRManager: Feature Configuration
- CRITICAL: Changing Serialized Fields — Use SerializedObject, Not Reflection
- OVRProjectSetup (UPST): Listing and Fixing Project Issues
- Core Features
- Project Setup Workflow
- Documentation Links
- Using metavr Tools for Latest Docs
- Related skills
Files
SKILL.mdcore13,451 bytesSKILL.mdcore13,451 bytesreferences/android-manifest.mddoc3,433 bytesreferences/boundaryless.mddoc3,349 bytesreferences/controller-input.mddoc2,218 bytesreferences/hand-tracking.mddoc3,886 bytesreferences/ovr-camera-rig.mddoc2,826 bytesreferences/ovr-manager.mddoc5,012 bytesreferences/ovr-overlay.mddoc5,052 bytesreferences/passthrough.mddoc3,051 bytesreferences/project-setup-tool.mddoc10,270 bytesreferences/project-setup-workflow.mddoc7,817 bytesreferences/scene-api.mddoc3,467 bytesreferences/spatial-anchors.mddoc3,881 bytesreferences/unity-mcp-fallback.mddoc4,114 bytes
Read SKILL.md
# Meta XR Core SDK (com.meta.xr.sdk.core)
The Meta XR Core SDK is the foundational Unity package for developing VR and MR applications targeting Meta VR devices. It provides the core XR rig, device management, input handling, and access to platform features like passthrough, hand tracking, spatial anchors, and scene understanding.
Package: `com.meta.xr.sdk.core`
## Running SDK code — drive a live Editor with `unity-cli`
Everything here is **Editor-only** C#. Run it against an open Editor instead of hand-editing scene, manifest, or settings files. Connecting, `--project-path`, and Safe Mode recovery are in the **`unity-cli`** skill.
```bash
unity status --format json # look for state "ready"
unity command run_script --project-path <proj> --file AgentScripts/Setup.cs --entry Setup.Run --format json
```View the complete source on GitHubhz-unity-meta-interaction-sdk
When your agent uses it
Meta XR Interaction SDK (com.meta.xr.sdk.interaction.ovr) in Unity. Use when adding ANY interaction to a Meta VR or Horizon OS scene - grab (hand, distance, ray, touch), poke, teleport/locomotion, gaze, interactable UI canvases - when making an object grabbable, adding interactors to hands or controllers, creating an interaction rig, or baking interaction into a prefab or a scene whose rig loads elsewhere (dynamically, DontDestroyOnLoad, additively). Use the OVR backend unless the user explicitly asks for cross-platform. Covers QuickActionsAPI and OVRQuickActionsAPI as the default way to wire interactions, running them via unity-cli, an Editor script, or MCP, installation, and the undocumented behavior that source-reading or a Play-mode run is otherwise needed to discover.
What it loads into context
Frontmatter
190 tokensAlways available to the agent
SKILL.md
3,392 tokensWhen the skill is activated
Reference documents
12,559 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Use ISDK for interaction on Meta VR
- Quick start
- Which call for which interaction
- When the rig isn't in your scene
- Running the calls - both APIs are Editor-only
- Installing
- Finding the truth: source first, docs second
- What the docs don't tell you
- Always verify in Play mode
- References
- Related skills
Files
SKILL.mdcore14,074 bytesSKILL.mdcore14,074 bytesSKILL.mdcore14,074 bytesSKILL.mdcore14,074 bytesreferences/documentation.mddoc11,304 bytesreferences/installation.mddoc9,242 bytesreferences/interaction-model.mddoc7,206 bytesreferences/ovr-quick-actions-api.mddoc5,076 bytesreferences/quick-actions-api.mddoc8,313 bytesreferences/unity-mcp-fallback.mddoc5,627 bytesreferences/verification.mddoc5,966 bytes
Read SKILL.md
# Meta XR Interaction SDK (com.meta.xr.sdk.interaction.ovr)
## Use ISDK for interaction on Meta VR
The Core SDK (`com.meta.xr.sdk.core`) gives you the headset - camera rig, tracking, `OVRManager`.
It does not give you interaction. **ISDK is the interaction layer.** Don't hand-roll grabbing on
`OVRInput`, raycasts, or trigger colliders: ISDK already models hover/select state, pose
conforming, throw velocity, and interactor arbitration, and a hand-rolled version drifts from
platform behavior.
| Target | What to do |
|---|---|
| Meta VR / Horizon OS, or platform not stated | **OVR backend** (`com.meta.xr.sdk.interaction.ovr`) - the rest of this skill |
| Cross-platform, still on ISDK | UnityXR backend (Essentials + Unity XR Hands). Same model, different entry points - look them up, don't assume the OVR ones |View the complete source on GitHubhz-unity-meta-mixed-reality-utility-kit
When your agent uses it
Meta XR Mixed Reality Utility Kit (MRUK) (com.meta.xr.mrutilitykit) for Unity XR development. Use when working with Scene API data (rooms, walls, floors, furniture), spawning prefabs on scene anchors, placing virtual objects in the real world, world locking to prevent anchor drift, raycasting against room geometry, generating NavMesh from scene data, environment depth raycasting for instant placement without scanning, Passthrough Camera Access (PCA), trackable detection (keyboards, QR codes), destructible scene meshes, space maps, room sharing for multiplayer, or any MR scene-aware feature.
What it loads into context
Frontmatter
148 tokensAlways available to the agent
SKILL.md
5,343 tokensWhen the skill is activated
Reference documents
6,983 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Finding the SDK Source
- Quick Reference
- Architecture
- Key Enums
- Core Classes
- Feature Components
- Common Patterns
- Project Setup
- Running MRUK code — drive a live Editor with `unity-cli`
- Using metavr Tools for Latest Docs
- Documentation Links
Files
SKILL.mdcore21,367 bytesSKILL.mdcore21,367 bytesSKILL.mdcore21,367 bytesSKILL.mdcore21,367 bytesreferences/passthrough-relighting.mddoc12,682 bytesreferences/scene-navigation.mddoc12,375 bytesreferences/unity-mcp-fallback.mddoc2,744 bytes
Read SKILL.md
# Meta XR Mixed Reality Utility Kit (MR Utility Kit, MRUK, com.meta.xr.mrutilitykit)
The Meta XR Mixed Reality Utility Kit (MR Utility Kit, MRUK) is a Unity package that provides high-level tools on top of the Scene API for building scene-aware Mixed Reality (MR) experiences. It is designed to be used in conjunction with the Meta XR Core SDK.
It handles scene data loading and querying, spawning prefabs on real-world surfaces, world locking to prevent anchor drift, environment raycasting for instant placement without scanning, passthrough camera access, NavMesh generation from room geometry, and trackable detection (keyboards, QR codes).
Package: com.meta.xr.mrutilitykit
## Finding the SDK Source
The package `com.meta.xr.mrutilitykit` may be located in different places depending on the project setup:
- `Library/PackageCache/com.meta.xr.mrutilitykit@<hash>/` (cached from registry)
- `Packages/com.meta.xr.mrutilitykit/` (local package reference)
- A custom on-disk path (embedded or local folder)
View the complete source on GitHubhz-unity-meta-movement-sdk-retargeting
When your agent uses it
Set up and tweak Meta Movement SDK (MSDK) retargeting for a character model. Use this whenever the user wants to retarget a humanoid FBX/prefab for Meta VR body tracking, generate a retargeting config, or hand-edit the resulting `<asset>.json` (fix known-joint mappings, exclude joints from auto-mapping, rename target joints, adjust per-joint mapping weights, change a mapping behavior to twist/childAlignedTwist, edit T-pose values). The headless entry point is `Meta.XR.Movement.Editor.MSDKUtilityEditor.RunDefaultRetargetingSetup(GameObject asset)` — call it against a live Editor with unity-cli first, then hand-edit if needed. **Skip** if the user is editing runtime retargeting code, the source `OVRSkeletonData.json`, or non-MSDK files.
What it loads into context
Frontmatter
198 tokensAlways available to the agent
SKILL.md
5,600 tokensWhen the skill is activated
Reference documents
787 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow: always start with the headless API
- When to hand-edit the JSON
- Top-level layout
- Joint names: where the same string must appear
- What users most commonly tweak
- Validation
- Sample workflow recipes
- Re-running setup after edits
Files
SKILL.mdcore21,713 bytesSKILL.mdcore21,713 bytesSKILL.mdcore21,713 bytesSKILL.mdcore21,713 bytesSKILL.mdcore21,713 bytesSKILL.mdcore21,713 bytesSKILL.mdcore21,713 bytesSKILL.mdcore21,713 bytesSKILL.mdcore21,713 bytesSKILL.mdcore21,713 bytesSKILL.mdcore21,713 bytesreferences/unity-mcp-fallback.mddoc3,513 bytes
Read SKILL.md
# MSDK Retargeting Config
## Workflow: always start with the headless API
Don't hand-craft the JSON from scratch — the native side computes initial alignment, mappings, and T-pose data that would be tedious to write by hand. The right flow is:
1. **Generate the default config** by calling `Meta.XR.Movement.Editor.MSDKUtilityEditor.RunDefaultRetargetingSetup(GameObject asset, string customDataSourcePath = null)` against a live Editor with `unity-cli`. This is the headless equivalent of clicking through the Retargeting Configuration Editor UI with all defaults (Next×3 → Validate → Done) and produces both artifacts:
- `<asset>.json` — the retargeting config (this skill targets this file)
- `<asset>-metadata.asset` — a small ScriptableObject linking the model to the JSON (rarely needs editing)
2. **Inspect the generated JSON** to verify joint mappings look right.
3. **Hand-edit only if needed** — the rest of this skill describes the JSON structure and the common tweaks.
The same `RunDefaultRetargetingSetup` API also backs the `Assets/Movement SDK/Body Tracking/Run Default Retargeting Setup` editor menu item, so a user who sees a project asset selected can trigger it from the menu too.
View the complete source on GitHubhz-unity-meta-quest-ui
When your agent uses it
Configures Unity UI for Meta VR and Horizon OS VR development — world-space canvases, TextMesh Pro setup, comfortable sizing, viewing distances, and interaction readiness.
What it loads into context
Frontmatter
53 tokensAlways available to the agent
SKILL.md
4,504 tokensWhen the skill is activated
Reference documents
973 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- Driving the Editor
- Prerequisite: TMP Essential Resources
- Step 1: Create World Space Canvas
- Step 2: Create child UI elements
- Step 3: Validate created UI
- Step 4: Add VR interaction (interactive UI only)
- VR UI sizing reference
- Performance tips
- Troubleshooting
- Checklists
- Integration with other skills
Files
SKILL.mdcore17,481 bytesSKILL.mdcore17,481 bytesSKILL.mdcore17,481 bytesSKILL.mdcore17,481 bytesSKILL.mdcore17,481 bytesSKILL.mdcore17,481 bytesSKILL.mdcore17,481 bytesSKILL.mdcore17,481 bytesreferences/unity-mcp-fallback.mddoc4,271 bytes
Read SKILL.md
# Meta VR UI Setup
## When to use this skill
Use this skill automatically when:
- Setting up a Canvas for VR
- Creating UI text with TextMesh Pro in a VR project
- Adding buttons, sliders, or other interactive UI in VR
- User reports pink/magenta text, unclickable buttons, or UI sizing issues in VR
- Configuring VR interaction (ray or poke) on a Canvas
## Driving the Editor
Build the UI against an open Editor with `unity-cli` rather than hand-editing scene YAML — the EditorView the complete source on GitHubhz-unity-passthrough-camera-access
When your agent uses it
Meta Quest Passthrough Camera Access (PCA) for Unity — access the forward-facing RGB cameras on Quest 3 / Quest 3S to feed Computer Vision and Machine Learning pipelines. Use when capturing the passthrough camera image/texture, reading the camera pose and intrinsics, projecting camera pixels into world space via `PassthroughCameraAccess.ViewportPointToRay`, wiring camera frames into ML/CV models, or reasoning about resolution, permissions, vendor tags, and the pinhole/principal-point model. For projecting the image onto a flat world-space surface (frustum-slice quad / image-plane overlay) see references/principal-point-offset.md; for placing 2D ML detections as world-space 3D bounding boxes see references/detection-bounding-boxes.md. Skip if the user only wants to cast the user's POV (use the Media Projection API instead) or is doing screen-space-only overlays.
What it loads into context
Frontmatter
209 tokensAlways available to the agent
SKILL.md
1,422 tokensWhen the skill is activated
Reference documents
5,123 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Use Cases
- General Prerequisites
- Passthrough Camera Using Android Camera2
- Known Issues
- Best Practices
- References
Files
SKILL.mdcore6,333 bytesreferences/detection-bounding-boxes.mddoc11,408 bytesreferences/principal-point-offset.mddoc9,145 bytes
Read SKILL.md
# Meta Quest Passthrough Camera Access (PCA)
Building on top of the [Android Camera2 API](https://developer.android.com/media/camera/camera2),
Passthrough Camera Access provides access to the forward-facing RGB cameras on
Quest 3 and Quest 3S for the purpose of supporting Computer Vision and Machine
Learning. This API is distinct from the
[Media Projection API](https://developers.meta.com/horizon/documentation/native/native-media-projection/),
which supports casting from the user's POV (including the UI) and should be used
if your purpose is to represent what the user is seeing. Use the Passthrough
Camera API to add application-specific computer-vision capabilities that extend
the understanding of the user's environment and actions beyond what is provided
by the Scene API.
## Use CasesView the complete source on GitHubhz-unity-placement
When your agent uses it
Ensures accurate object placement in Unity projects targeting Meta VR and Horizon OS by using Renderer and Collider bounds when objects are added, moved, or positioned relative to other objects.
What it loads into context
Frontmatter
51 tokensAlways available to the agent
SKILL.md
4,607 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- Automatic Triggers (invoke WITHOUT user asking)
- Example Scenarios
- Core principle
- Driving the Editor
- Instructions
- Common placement patterns
- Best practices
- Handling edge cases
- Example workflow
- Quick reference
- Remember
Files
SKILL.mdcore18,505 bytesSKILL.mdcore18,505 bytesSKILL.mdcore18,505 bytesSKILL.mdcore18,505 bytesSKILL.mdcore18,505 bytesSKILL.mdcore18,505 bytesSKILL.mdcore18,505 bytesSKILL.mdcore18,505 bytesSKILL.mdcore18,505 bytesSKILL.mdcore18,505 bytesSKILL.mdcore18,505 bytesSKILL.mdcore18,505 bytesSKILL.mdcore18,505 bytesSKILL.mdcore18,505 bytesSKILL.mdcore18,505 bytes
Read SKILL.md
# Unity Object Placement with Bounding Boxes
This skill ensures that when placing, moving, or positioning Unity GameObjects relative to other objects, proper bounding box calculations are used to prevent overlaps and ensure accurate placement.
## When to use this skill
Use this skill automatically whenever:
- Placing an object relative to another (on top of, beside, above, below, in front of, behind)
- Moving objects to specific positions near other objects
- Instantiating prefabs in relation to existing scene objects
- Positioning imported models relative to scene objects
- Any spatial relationship between GameObjects is specified
## Automatic Triggers (invoke WITHOUT user asking)View the complete source on GitHubhz-unity-platform-sdk
When your agent uses it
Guides integration of the Horizon Platform SDK for Meta VR and Horizon OS Unity/C# apps — achievements, IAP, users, leaderboards, challenges, presence, notifications, abuse reporting, entitlements, asset files, application lifecycle, consent, device integrity, language packs, user age categories, and rate and review. Covers setup, initialization, API usage, data types, error handling, and best practices for all 18 public platform SDK packages.
What it loads into context
Frontmatter
107 tokensAlways available to the agent
SKILL.md
878 tokensWhen the skill is activated
Reference documents
45,417 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- Quick Start
- Available APIs
- How to Use
Files
SKILL.mdcore4,034 bytesreferences/abuse-report.mddoc7,905 bytesreferences/achievements.mddoc11,953 bytesreferences/application-lifecycle.mddoc10,069 bytesreferences/application.mddoc10,308 bytesreferences/asset-file.mddoc12,539 bytesreferences/challenges.mddoc13,827 bytesreferences/common-setup.mddoc9,398 bytesreferences/consent.mddoc9,315 bytesreferences/device-application-integrity.mddoc7,328 bytesreferences/entitlements.mddoc9,581 bytesreferences/group-presence.mddoc16,919 bytesreferences/iap.mddoc11,266 bytesreferences/language-pack.mddoc9,015 bytesreferences/leaderboards.mddoc14,406 bytesreferences/notifications.mddoc10,820 bytesreferences/rate-and-review.mddoc6,668 bytesreferences/rich-presence.mddoc6,839 bytesreferences/user-age-category.mddoc7,935 bytesreferences/users.mddoc12,269 bytes
Read SKILL.md
# Horizon Platform SDK - Unity/C# Integration Guide
## When to Use
Use this skill when a developer:
- Wants to integrate any Horizon Platform SDK feature in a **Unity** Meta VR application
- Asks about setup, initialization, or dependencies for the Unity SDK package (`com.meta.xr.sdk.platform`)
- Needs help with a specific public platform API (achievements, IAP, users, etc.) in C#
- Is troubleshooting errors or status codes from any SDK package in Unity
- Asks about `Core.AsyncInitialize`, `Oculus.Platform`, or platform message handling
For **Android/Kotlin** apps, use the `hz-platform-sdk` skill instead.
## Quick StartView the complete source on GitHubhz-unity-project-analyzer
When your agent uses it
Analyzes, documents, and maintains a living `.agent-docs/` knowledge base for Unity projects targeting Meta VR and Horizon OS. Use when the user asks to scan project structure, explain how a Unity system works, or update project docs after structural changes.
What it loads into context
Frontmatter
72 tokensAlways available to the agent
SKILL.md
2,313 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Modes of Operation
- Instructions for Full Scan (Mode 1) and Full Rescan (Mode 3)
- Instructions for Incremental Update (Mode 2)
- Instructions for Ingestion (Mode 4)
- Document Writing Guidelines
- File Naming Convention
Files
SKILL.mdcore9,736 bytes
Read SKILL.md
# Unity Project Analyzer
Analyze, document, and maintain a living knowledge base of a Unity project's structure, optimized for AI agent comprehension. Output lives in `.agent-docs/` as source-control-friendly markdown files.
## Modes of Operation
This skill operates in four modes. Determine which mode to use based on context:
### Mode 1: First-Time Full Scan
**Trigger:** `.agent-docs/` directory does not exist or `.agent-docs/index.md` does not exist.
### Mode 2: Incremental Update
**Trigger:** User asks to update docs, or AI agent has made structural changes (new scenes, scripts, prefabs, systems). Default update mode.
View the complete source on GitHubhz-unity-sdk-upgrade
When your agent uses it
Upgrades Unity projects between Meta XR SDK versions for Meta VR and Horizon OS. Use when moving from Oculus Integration or older com.meta.xr packages, resolving post-upgrade compile errors, or validating runtime behavior. Grounds migration decisions in current metavr documentation results and records coverage gaps instead of relying on static summaries. Do not use for Unreal, native Android, Spatial SDK, or WebXR upgrades.
What it loads into context
Frontmatter
106 tokensAlways available to the agent
SKILL.md
2,119 tokensWhen the skill is activated
Reference documents
5,166 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Required workflow
- Critical execution and compile loop
- Critical completion gate
- Documentation commands
- Guardrails
- References
Files
../hz-api-upgrade/SKILL.mddoc7,030 bytesSKILL.mdcore11,112 bytesSKILL.mdcore11,112 bytesSKILL.mdcore11,112 bytesreferences/mruk-migration.mddoc5,706 bytesreferences/unity-upgrade-runbook.mddoc12,033 bytes
Read SKILL.md
# Meta XR Unity SDK Upgrade
Upgrade the project as an evidence-driven migration. Package resolution and a clean compile are checkpoints, not proof that the app still works.
Optimize for the shortest verified path. In a time-bounded session, finish the package/provider transition, remove duplicate SDK code, migrate every known producer and consumer, and obtain a clean compile before optional cleanup or broader platform validation. Do not spend the remaining budget polishing a compile-clean project setting while a known legacy consumer or vendored SDK file remains.
For Unreal, native Android or Spatial SDK, WebXR or Immersive Web SDK (IWSDK),
and general cross-platform upgrades, use
[`hz-api-upgrade`](../hz-api-upgrade/SKILL.md).
## Required workflow
1. Read [the Unity upgrade runbook](references/unity-upgrade-runbook.md). Do a bounded, shallow inventory of the Unity version, render pipeline, XR provider, Meta packages, vendored `Assets/Oculus` content, assembly definitions, and affected scenes/prefabs. Record paths and legacy symbols without reading every large serialized asset or constructing a complete GUID map. Create one checklist of affected producers, consumers, serialized assets, settings, and tests; update it instead of repeating discovery or launching duplicate inventory subtasks.
2. Establish the source and target SDK versions from package or SDK-family markers. Treat the Meta XR package version, the bundled native OVRPlugin version reported through the managed `OVRPlugin` API, Unity editor version, and XR provider as separate axes; do not infer one from another. If either SDK version is ambiguous, report the evidence and label the value as inferred.View the complete source on GitHubhz-unity-tmp-resources
When your agent uses it
Imports and configures TextMesh Pro Essential Resources for Unity projects targeting Meta VR and Horizon OS. Use when setting up TMP UI, fixing missing TMP materials or fonts, or resolving pink/magenta TMP text.
What it loads into context
Frontmatter
62 tokensAlways available to the agent
SKILL.md
1,220 tokensWhen the skill is activated
Reference documents
1,000 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use this skill
- Driving the Editor
- Step 1: Check if TMP resources are already imported
- Step 2: Import TMP Essential Resources
- Step 3: Verify import succeeded
- Troubleshooting
- Integration with meta-quest-ui skill
Files
SKILL.mdcore5,131 bytesSKILL.mdcore5,131 bytesSKILL.mdcore5,131 bytesSKILL.mdcore5,131 bytesSKILL.mdcore5,131 bytesSKILL.mdcore5,131 bytesSKILL.mdcore5,131 bytesreferences/unity-mcp-fallback.mddoc4,588 bytes
Read SKILL.md
# TextMesh Pro Resources Import
## When to use this skill
Use this skill automatically when any of the following are detected:
- TMP text appears **pink/magenta** in the scene
- Console errors mentioning `LiberationSans SDF`, `TMP Settings`, or missing TMP materials
- Creating the first TMP text element in a project
- User asks to set up TextMesh Pro or create UI text
- `Assets/TextMesh Pro/Resources/` folder does not exist
## Driving the Editor
View the complete source on GitHubhz-vr-debug
When your agent uses it
Debugs Meta VR and Horizon OS VR, MR, and Android applications using the metavr CLI — view logs, capture screenshots, and diagnose common issues. Use when troubleshooting crashes, errors, or unexpected behavior on Meta VR devices. Build paths: All; use hz-quest-verify-first if the path is unclear.
What it loads into context
Frontmatter
102 tokensAlways available to the agent
SKILL.md
4,258 tokensWhen the skill is activated
Reference documents
5,374 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use This Skill
- Prerequisites
- Quick Start Workflow
- Key Debugging Commands
- Common Debugging Workflow
- Symptom-to-Diagnosis Decision Trees
- Gotchas
- Tips and Best Practices
- References
Files
SKILL.mdcore19,018 bytesSKILL.mdcore19,018 bytesSKILL.mdcore19,018 bytesSKILL.mdcore19,018 bytesSKILL.mdcore19,018 bytesSKILL.mdcore19,018 bytesSKILL.mdcore19,018 bytesSKILL.mdcore19,018 bytesSKILL.mdcore19,018 bytesSKILL.mdcore19,018 bytesSKILL.mdcore19,018 bytesSKILL.mdcore19,018 bytesSKILL.mdcore19,018 bytesSKILL.mdcore19,018 bytesreferences/common-issues.mddoc8,588 bytesreferences/logcat-filtering.mddoc9,692 bytesreferences/screenshots-video.mddoc4,678 bytes
Read SKILL.md
# VR Debug Skill
Debug Meta VR, MR, and Android applications using the `metavr` command-line
interface. This skill covers viewing application logs, capturing device state,
diagnosing crashes, and resolving common issues encountered during Meta VR
development.
## When to Use This Skill
Use this skill when you need to:
- Debug an application running on a connected Meta VR device
- View real-time or historical application logs (logcat)
- Capture screenshots of the VR/MR viewView the complete source on GitHubhz-xr-simulator-control
When your agent uses it
Routes Meta VR and Horizon OS simulator work to the right `metavr` command group, and drives a running Meta XR Simulator via `metavr xrsim` — runtime, device, input, compositor layers and MP4 recording. Use when a goal concerns a simulated headset rather than a physical one, when choosing between `xrsim`, `ssim`, `capture` and `tapedeck`, or when a `metavr xrsim` command returns a connection error. For installing the simulator or configuring it into a Unity, Unreal or native OpenXR project, use hz-xr-simulator-install-and-configure instead.
What it loads into context
Frontmatter
162 tokensAlways available to the agent
SKILL.md
2,405 tokensWhen the skill is activated
Reference documents
1,662 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Which Command Group
- The Three Connection Tiers
- Safe Frontend Shutdown
- Two Things That Bite
- XR Operator Port Consistency
- References
Files
SKILL.mdcore9,680 bytesSKILL.mdcore9,680 bytesSKILL.mdcore9,680 bytesreferences/commands.mddoc6,630 bytes
Read SKILL.md
# XR Simulator Control
`metavr` is overwhelmingly a **physical Quest or Glasses** CLI: `device`, `app`, `capture`, `input`, `log`,
`files` and `ui` all talk to a headset over ADB. `xrsim` is one group among them and drives a
**simulated** headset instead. Choosing the wrong group is the most common failure here, and it
is quiet: `metavr device list` prints `No devices connected` and exits 0, so the wrong answer
looks healthier than the right one.
This skill drives a simulator that already exists. Installing one, or wiring it into a project,
belongs to `hz-xr-simulator-install-and-configure`.
## Which Command Group
| The goal concerns | Use | Not |View the complete source on GitHubhz-xr-simulator-install-and-configure
When your agent uses it
Installs and configures the Meta XR Simulator for testing Meta VR and Horizon OS apps without a physical device. Use when installing the simulator or integrating it with Unity, Unreal, or native OpenXR projects. For controlling a running simulator, use hz-xr-simulator-control. Build paths: Unity, Unreal, and native OpenXR; route Standard Android, Meta Spatial SDK, and WebXR work through hz-quest-verify-first.
What it loads into context
Frontmatter
125 tokensAlways available to the agent
SKILL.md
1,710 tokensWhen the skill is activated
Reference documents
4,697 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use This Skill
- What is Meta XR Simulator
- Supported Platforms
- Supported App Types
- Key Features
- Quick Start
- Controls Overview
- Testing Workflows
- Gotchas
- Limitations
- References
Files
SKILL.mdcore8,417 bytesreferences/configuration.mddoc5,898 bytesreferences/installation.mddoc5,561 bytesreferences/testing-workflows.mddoc9,393 bytes
Read SKILL.md
# Meta XR Simulator Installation and Configuration
## When to Use This Skill
- You need to test a Meta VR application without a physical headset connected
- You want rapid iteration during development without deploying to device each time
- You are setting up CI/CD pipelines that need automated testing of Meta VR apps
- You want to validate core interactions, UI, and locomotion before deploying to hardware
## What is Meta XR Simulator
Meta XR Simulator is a desktop tool that simulates a Meta VR environment on your development machine. It intercepts the OpenXR runtime calls your application makes and provides simulated headset tracking, controller input, hand tracking, and environment data, allowing you to run and test VR/MR applications directly in your engine's editor or as standalone desktop builds.
The simulator does not replicate Meta VR hardware performance. It runs on your desktop GPU and CPU. Its purpose is functional testing, not performance profiling.View the complete source on GitHubmetavr-cli
When your agent uses it
Provides the complete metavr (Meta VR CLI) reference for Meta VR and Horizon OS development — installation, device setup, command discovery, MCP server mode, documentation search, app deployment, device testing setup, audio control, screenshots, and performance analysis. Use when the user needs to install metavr, asks what commands are available, needs CLI syntax help, or wants to know what metavr can do. Build paths: all Meta VR app stacks; use hz-quest-verify-first if the build path is unclear.
What it loads into context
Frontmatter
147 tokensAlways available to the agent
SKILL.md
1,724 tokensWhen the skill is activated
Reference documents
9,468 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What metavr Does
- Installation
- Device Connection
- Command Discovery
- MCP Server Mode
- Common Agent Workflow
- Relationship to ADB
- Full Command Reference
- References
Files
SKILL.mdcore7,400 bytesSKILL.mdcore7,400 bytesSKILL.mdcore7,400 bytesSKILL.mdcore7,400 bytesSKILL.mdcore7,400 bytesSKILL.mdcore7,400 bytesSKILL.mdcore7,400 bytesSKILL.mdcore7,400 bytesSKILL.mdcore7,400 bytesSKILL.mdcore7,400 bytesSKILL.mdcore7,400 bytesSKILL.mdcore7,400 bytesreferences/metavr-agent-workflows.mddoc3,657 bytesreferences/metavr-app-management.mddoc5,173 bytesreferences/metavr-dev-tools.mddoc4,418 bytesreferences/metavr-device-management.mddoc7,652 bytesreferences/metavr-docs-search.mddoc8,625 bytesreferences/metavr-perf-tools.mddoc10,891 bytes
Read SKILL.md
# metavr CLI Reference
## What metavr Does
metavr (Meta VR CLI) is a CLI for Meta VR and Horizon OS development.
It wraps ADB and Meta developer APIs into higher-level commands for device
management, app lifecycle, documentation lookup, screenshots, audio control,
test-device preparation, MCP integration, and Perfetto performance analysis.
Keep this `SKILL.md` as the routing layer. For exact flags and complete command
syntax, use the generated full CLI reference in `docs/metavr-cli.md` or run:
```bash
metavr --markdown-helpView the complete source on GitHubportal
When your agent uses it
Build and sideload Android apps for Meta Portal devices (Portal, Portal+, Portal Mini, Portal Go, Portal TV) using metavr. Use when targeting Portal hardware — covers ADB enablement, the no-GMS constraint, manifest/launcher intent-filter requirements, icon density quirks (PNG-only, mipmap-xxxhdpi), the Smart Camera SDK, and the gradle + `metavr adb` build/deploy/debug loop. Auto-load when the user mentions "Portal" device, targets `minSdkVersion` 28-29 for a tabletop/TV form factor, or works with the `com.facebook.portal` package.
What it loads into context
Frontmatter
170 tokensAlways available to the agent
SKILL.md
3,317 tokensWhen the skill is activated
Reference documents
26,030 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Hard constraints — read before writing any code
- Device matrix
- Quickstart
- Build configuration
- Manifest
- Permissions that work / don't work
- Smart Camera SDK (binary pending)
- Debug loop
- Resources
Files
SKILL.mdcore13,450 bytesSKILL.mdcore13,450 bytesSKILL.mdcore13,450 bytesSKILL.mdcore13,450 bytesresources/android-sdk-setup.mddoc13,461 bytesresources/app-requirements.mddoc15,952 bytesresources/compose-theme.mddoc11,867 bytesresources/debugging.mddoc6,069 bytesresources/design-guidelines.mddoc14,934 bytesresources/device-setup.mddoc2,677 bytesresources/metavr.mddoc7,968 bytesresources/native-toolchain.mddoc10,731 bytesresources/porting-existing-apps.mddoc13,898 bytesresources/sample-prompts.mddoc3,406 bytesresources/smart-camera-sdk.mddoc3,416 bytes
Read SKILL.md
# Portal
This skill is for building Android apps that target Meta's Portal device family. Portal devices are discontinued (sales stopped end of 2022), but ADB is now enabled, so owners can sideload their own apps.
The hardware: Snapdragon-based Android tablets and TV sticks running a modified AOSP **without** Google Mobile Services. Several models, all touch or TV. `minSdkVersion` 28 (Android 9) or 29 (Android 10) depending on device.
This skill pairs with **metavr** (Meta VR CLI) — install it first. Use `metavr adb` in place of raw `adb` everywhere. See `resources/metavr.md` for the one-line install (via `npx`), the MCP-into-your-editor setup, and the Portal-relevant command surface. The full `metavr-cli` skill ships in the same repo and can also be loaded for deeper reference.
## Hard constraints — read before writing any code
If you only remember a few things, remember these. Each is a class of bug Portal apps hit constantly.
1. **No Google Mobile Services.** No Play Services, no Firebase, no FCM, no Play Billing, no Google Sign-In, no Google Maps SDK, no AdMob, no ML Kit. Apps with hard GMS deps will crash on launch. Pick non-GMS alternatives — see `resources/app-requirements.md`.
2. **`minSdkVersion ≤ 28` is required** (Portal hardware tops out at API 29). For **new apps**, `targetSdkVersion 29` is the safest default. For **porting existing apps**, `targetSdkVersion` higher than 29 usually works fine — verified empirically with `targetSdk = 36`. Don't waste time downgrading the target SDK of an existing app unless you observe a concrete runtime issue.View the complete source on GitHubSkills included
- hz-android-2d-porting
- hz-api-upgrade
- hz-immersive-designer
- hz-iwsdk-webxr
- hz-metavrx-layout-sdk
- hz-metavrx-ui-set
- hz-new-project-creation
- hz-perfetto-debug
- hz-platform-sdk
- hz-psdk-integration
- hz-quest-verify-first
- hz-react-native-expo
- hz-simpleperf-debug
- hz-spatial-sdk
- hz-store-pwa
- hz-store-submit
- hz-unity-code-review
- hz-unity-device-readiness
- hz-unity-face-tracking
- hz-unity-fbx-import
- hz-unity-meta-core-sdk
- hz-unity-meta-interaction-sdk
- hz-unity-meta-mixed-reality-utility-kit
- hz-unity-meta-movement-sdk-retargeting
- hz-unity-meta-quest-ui
- hz-unity-passthrough-camera-access
- hz-unity-placement
- hz-unity-platform-sdk
- hz-unity-project-analyzer
- hz-unity-sdk-upgrade
- hz-unity-tmp-resources
- hz-vr-debug
- hz-xr-simulator-control
- hz-xr-simulator-install-and-configure
- metavr-cli
- portal
Repository facts
- License
- Apache-2.0
- Created
- Feb 9, 2026
- Last pushed
- Sep 24, 2026
- Forks
- 25
- Open issues
- 8
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 5, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 153 notes
skills/hz-android-2d-porting/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/hz-api-upgrade/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/hz-api-upgrade/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/hz-api-upgrade/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/hz-api-upgrade/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/hz-api-upgrade/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/hz-iwsdk-webxr/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/hz-iwsdk-webxr/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/hz-iwsdk-webxr/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/hz-new-project-creation/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/hz-new-project-creation/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/hz-new-project-creation/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/hz-new-project-creation/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/hz-perfetto-debug/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/hz-perfetto-debug/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/hz-perfetto-debug/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/hz-perfetto-debug/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/hz-perfetto-debug/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/hz-perfetto-debug/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/hz-perfetto-debug/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- 12 broad permissionsin 8 files: hz-new-project-creation/SKILL.md:1 skills/hz-vr-debug/SKILL.md:1 skills/metavr-cli/SKILL.md:1 and 5 more
- 36 dangerous shell commandsin 8 files: portal/resources/android-sdk-setup.md:92 portal/resources/native-toolchain.md:81 skills/portal/SKILL.md:55 and 5 more
- 672 network referencesin 133 files: hz-unity-meta-interaction-sdk/references/documentation.md:37 hz-unity-fbx-import/SKILL.md:27 portal/resources/android-sdk-setup.md:28 and 130 more
- No hidden or obfuscated text
- No instruction overrides
- No executable scripts
- 8 references to secretsin 5 files: hz-platform-sdk/references/users.md:122 hz-unity-platform-sdk/references/users.md:118 portal/resources/porting-existing-apps.md:142 and 2 more
- No requests to vote in Hot
Show all 728 signals by file
.claude-plugin/marketplace.json
- Network accessline 12
"name": "Meta Platforms, Inc." }, "homepage": "https://developers.meta.com/horizon/discover/ai-tools/", - Network accessline 13
}, "homepage": "https://developers.meta.com/horizon/discover/ai-tools/", "source": "./", - Network accessline 14
"homepage": "https://developers.meta.com/horizon/discover/ai-tools/",
.claude-plugin/plugin.json
- Network accessline 1
{ "$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json", - Network accessline 2
"$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json", - Network accessline 7
"name": "Meta Platforms, Inc." }, "homepage": "https://developers.meta.com/horizon/discover/ai-tools/", - Network accessline 8
}, "homepage": "https://developers.meta.com/horizon/discover/ai-tools/", "repository": "https://github.com/meta-quest/agentic-tools", - Network accessline 9
"homepage": "https://developers.meta.com/horizon/discover/ai-tools/", - Network accessline 10
"repository": "https://github.com/meta-quest/agentic-tools",
skills/hz-android-2d-porting/SKILL.md
- Network accessline 142
| Layout broken | Fixed-size layout assumptions | Use responsive Views or Compose layouts | | App requests unavailable permissions | Telephony, NFC, or other absent hardware | Guard with `hasSystemFeature()` checks | | APK rejected for proh - Network accessline 143
| App requests unavailable permissions | Telephony, NFC, or other absent hardware | Guard with `hasSystemFeature()` checks | | APK rejected for prohibited permissions | Library or plugin silently added a prohibited permission | Run `aapt du - Network accessline 144
| APK rejected for prohibited permissions | Library or plugin silently added a prohibited permission | Run `aapt dump permissions your-app.apk`, then check [prohibited list](https://developers.meta.com/horizon/resources/permissions-prohibit
skills/hz-android-2d-porting/references/compatibility-requirements.md
- Network accessline 131
<manifest xmlns:android="http://schemas.android.com/apk/res/android"> - Network accessline 168
1. Audit your `AndroidManifest.xml`, including merged manifests from all libraries and build plugins 2. Check the prohibited permissions list: https://developers.meta.com/horizon/resources/permissions-prohibited/ - Network accessline 169
2. Check the prohibited permissions list: https://developers.meta.com/horizon/resources/permissions-prohibited/ - Network accessline 170
3. Check the review-required permissions list: https://developers.meta.com/horizon/resources/permissions-review-required/ - Network accessline 191
Check the latest version at [Maven Central](https://central.sonatype.com/search?namespace=com.meta.horizon.platform.sdk). - Network accessline 254
Submit via the [Meta Horizon Developer Dashboard](https://developer.meta.com/horizon/) after completing all requirements.
skills/hz-android-2d-porting/references/gradle-setup.md
- Network accessline 51
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"> - Network accessline 52
<manifest xmlns:android="http://schemas.android.com/apk/res/android"> - Network accessline 64
<!-- Remove permissions carried over from your original 2D app that are prohibited on Meta VR devices. Full list: https://developers.meta.com/horizon/resources/permissions-prohibited/ --> - Network accessline 122
If a Meta VR panel app needs to talk to a local development backend over `http://` - Network accessline 127
Keep the allowance scoped to development builds and prefer `https://` and - Network accessline 178
If you want to enhance your 2D app with spatial features (multiple panels, spatial anchors), add the Meta Spatial SDK. Meta Spatial SDK is published to [Maven Central](https://central.sonatype.com/artifact/com.meta.spatial/meta-spatial-sdk)
skills/hz-iwsdk-webxr/references/ai-assisted-development.md
skills/hz-iwsdk-webxr/references/desktop-load-profiling.md
- Network accessline 42
args: [ '--use-angle=d3d11', // Windows; use '--use-angle=gl' on Linux '--ignore-certificate-errors', // mkcert-served https://localhost preview - Network accessline 43
'--use-angle=d3d11', // Windows; use '--use-angle=gl' on Linux '--ignore-certificate-errors', // mkcert-served https://localhost preview ], - Network accessline 44
'--ignore-certificate-errors', // mkcert-served https://localhost preview - Network accessline 64
- The IWSDK dev and preview servers use `vite-plugin-mkcert`, so the URL is `https://localhost:4173` with a cert Chromium will not trust: pass both `--ignore-certificate-errors` and `ignoreHTTPSErrors: true`.
skills/hz-metavrx-ui-set/references/integration.md
- Network accessline 14
> **BOM version:** `<metavrx-bom>` stands in for it below. Take the current value > from [Use the Meta VR UI Set SDK](https://developers.meta.com/horizon/documentation/android-apps/meta-vr-ui-set-sdk) - Network accessline 15
> from [Use the Meta VR UI Set SDK](https://developers.meta.com/horizon/documentation/android-apps/meta-vr-ui-set-sdk)
skills/hz-new-project-creation/SKILL.md
- Broad permissionsline 1
Bash(metavr:*), Bash(hzdb:*), Bash(npx:*), mcp__metavr__metavr_unity_setup - Broad permissionsline 1
Bash(metavr:*), Bash(hzdb:*), Bash(npx:*), mcp__metavr__metavr_unity_setup - Network accessline 27
1. **Create a Meta developer account** -- Sign up at [developer.meta.com](https://developer.meta.com) and create an organization. - Network accessline 27
1. **Create a Meta developer account** -- Sign up at [developer.meta.com](https://developer.meta.com) and create an organization. - Network accessline 93
Create an application entry at [developer.meta.com](https://developer.meta.com) to obtain an App ID. This is required for platform features like entitlement checks, multiplayer, achievements, and store submission. - Network accessline 93
Create an application entry at [developer.meta.com](https://developer.meta.com) to obtain an App ID. This is required for platform features like entitlement checks, multiplayer, achievements, and store submission.
skills/hz-new-project-creation/references/android-project.md
skills/hz-new-project-creation/references/spatial-sdk-project.md
- Network accessline 16
Use the public [StarterSample](https://github.com/meta-quest/Meta-Spatial-SDK-Samples/tree/main/StarterSample) - Network accessline 17
as the baseline for activity lifecycle, panels, GLXF loading, and Gradle setup. Use [CustomComponentsSample](https://github.com/meta-quest/Meta-Spatial-SDK-Samples/tree/main/CustomComponentsSample) when the project needs custom ECS componen - Network accessline 18
Use [CustomComponentsSample](https://github.com/meta-quest/Meta-Spatial-SDK-Samples/tree/main/CustomComponentsSample) - Network accessline 275
<manifest xmlns:android="http://schemas.android.com/apk/res/android"> - Network accessline 304
If the app connects to a host or LAN service over `http://` or `ws://` during - Network accessline 306
the debug build. Prefer `https://` and `wss://` in release builds.
skills/hz-new-project-creation/references/unreal-project.md
- Network accessline 26
1. Clone Meta's fork from the [Meta VR developer documentation](https://developers.meta.com/horizon/documentation/unreal/unreal-building-ue4-from-source). - Network accessline 252
1. Install the **Meta XR Simulator** from the [Meta developer downloads page](https://developers.meta.com/horizon/downloads/package/meta-xr-simulator).
skills/hz-new-project-creation/references/web-project.md
- Network accessline 343
The default IWSDK Vite setup typically serves on `https://localhost:8081`. - Network accessline 358
2. Find your machine's local IP address, for example `192.168.1.100`. 3. Open Quest Browser on the headset. 4. Navigate to `https://192.168.1.100:8081`. - Network accessline 359
3. Open Quest Browser on the headset. 4. Navigate to `https://192.168.1.100:8081`. 5. Trust or accept the local certificate flow. - Network accessline 360
4. Navigate to `https://192.168.1.100:8081`.
skills/hz-perfetto-debug/SKILL.md
- Broad permissionsline 1
Bash(metavr:*), Bash(hzdb:*), Bash(npx:*)
skills/hz-platform-sdk/SKILL.md
skills/hz-platform-sdk/references/abuse-report.md
- Network accessline 3
- **Kotlin Package**: `horizon.platform.abusereport` - **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-sdk-sample-abusereport - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-sdk-sample-abusereport
skills/hz-platform-sdk/references/achievements.md
- Network accessline 3
- **Kotlin Package**: `horizon.platform.achievements` - **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-achievements - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-achievements - Network accessline 566
6. **Requires HzOS v85+ (public) or v83+ (partner)** -- on older OS versions, API calls return status code 1003 (`ProviderOperationNotSupported`). You can require a minimum OS version in `AndroidManifest.xml` (see [Minimum OS Versions](http
skills/hz-platform-sdk/references/application-lifecycle.md
- Network accessline 3
- **Kotlin Package**: `horizon.platform.applicationlifecycle` - **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-application-lifecycle - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-application-lifecycle - Network accessline 425
6. **Requires HzOS v78+** -- `getLaunchDetails()` and `launchIntentChanged()` require HzOS v78 or later. `logDeeplinkResult()` requires HzOS v83 or later. On older OS versions, they return status code 1003 (`ProviderOperationNotSupported`).
skills/hz-platform-sdk/references/application.md
- Network accessline 3
- **Kotlin Package**: `horizon.platform.application` - **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-application - **Minimum OS**: HzOS v78 (core API); v85 for download/install APIs - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-application - **Minimum OS**: HzOS v78 (core API); v85 for download/install APIs - **Maven Artifact**: `horizon-platform-sdk-application-kot - Network accessline 587
4. **`getVersion()` is available from HzOS v78** -- this is the earliest API in the package. Download and install APIs (`startAppDownload`, `cancelAppDownload`, `checkAppDownloadProgress`, `installAppUpdateAndRelaunch`) require HzOS v85. On
skills/hz-platform-sdk/references/asset-file.md
- Network accessline 4
|-------|-------| | **Kotlin Package** | `horizon.platform.assetfile` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-sdk-sample-assetfile | - Network accessline 5
| **Kotlin Package** | `horizon.platform.assetfile` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-sdk-sample-assetfile | | **Minimum OS** | HzOS v85 | - Network accessline 6
| **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-sdk-sample-assetfile | - Network accessline 585
7. **Requires HzOS v85+** -- all Asset File API methods require HzOS v85 or later. On older OS versions, they return status code 1003 (`ProviderOperationNotSupported`). You can require a minimum OS version in `AndroidManifest.xml` (see [Min
skills/hz-platform-sdk/references/common-setup.md
- Network accessline 7
If the developer has not yet integrated the Horizon Platform SDK, direct them to the setup guide: - **Setup documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-setup-kotlin - Network accessline 8
- **Setup documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-setup-kotlin - Network accessline 25
Browse all available artifacts at: https://central.sonatype.com/search?namespace=com.meta.horizon.platform.sdk - Network accessline 93
4. **Minimum OS version handling** -- on older OS versions that don't support a particular API, calls return status code 1003 (`ProviderOperationNotSupported`). You can either require a minimum OS version in `AndroidManifest.xml` (see [Mini
skills/hz-platform-sdk/references/consent.md
- Network accessline 4
|-------|-------| | **Kotlin Package** | `horizon.platform.consent` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-consent | - Network accessline 5
| **Kotlin Package** | `horizon.platform.consent` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-consent | | **Minimum OS** | HzOS v83 | - Network accessline 6
| **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-consent |
skills/hz-platform-sdk/references/device-application-integrity.md
- Network accessline 4
|-------|-------| | **Kotlin Package** | `horizon.platform.deviceapplicationintegrity` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-sdk-sample-deviceintegrity | - Network accessline 5
| **Kotlin Package** | `horizon.platform.deviceapplicationintegrity` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-sdk-sample-deviceintegrity | | **Minimum OS** | HzOS v85 | - Network accessline 6
| **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-sdk-sample-deviceintegrity | - Network accessline 259
5. **Requires HzOS v85+** -- `getIntegrityToken()` requires HzOS v85 or later. On older OS versions, it returns status code 1003 (`ProviderOperationNotSupported`). You can require a minimum OS version in `AndroidManifest.xml` (see [Minimum
skills/hz-platform-sdk/references/entitlements.md
- Network accessline 3
- **Kotlin Package**: `horizon.platform.entitlements` - **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-entitlement-check - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-entitlement-check - Network accessline 268
6. **Requires HzOS v85+** -- `getIsViewerEntitled()` requires HzOS v85 or later. On older OS versions, it returns status code 1003 (`ProviderOperationNotSupported`). You can require a minimum OS version in `AndroidManifest.xml` (see [Minimu
skills/hz-platform-sdk/references/group-presence.md
- Network accessline 3
- **Kotlin Package**: `horizon.platform.grouppresence` - **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-group-presence - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-group-presence
skills/hz-platform-sdk/references/iap.md
- Network accessline 3
- **Kotlin Package**: `horizon.platform.iap` - **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-iap/ - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-iap/ - Network accessline 561
8. **Requires HzOS v79+** -- all IAP methods require HzOS v79 or later. On older OS versions, they return status code 1003 (`ProviderOperationNotSupported`). You can require a minimum OS version in `AndroidManifest.xml` (see [Minimum OS Ver
skills/hz-platform-sdk/references/language-pack.md
- Network accessline 3
- **Kotlin Package**: `horizon.platform.languagepack` - **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-language-packs - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-language-packs - Network accessline 400
1. **Requires HzOS v85+** -- both `getCurrent()` and `setCurrent()` require HzOS v85 or later. On older OS versions, they return status code 1003 (`ProviderOperationNotSupported`). You can require a minimum OS version in `AndroidManifest.xm
skills/hz-platform-sdk/references/leaderboards.md
- Network accessline 3
- **Kotlin Package**: `horizon.platform.leaderboards` - **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-leaderboards - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-leaderboards - Network accessline 535
1. **Requires HzOS v83+** -- all Leaderboards API methods require HzOS v83 or later. On older OS versions, they return status code 1003 (`ProviderOperationNotSupported`). You can require a minimum OS version in `AndroidManifest.xml` (see [M
skills/hz-platform-sdk/references/notifications.md
- Network accessline 3
- **Kotlin Package**: `horizon.platform.notifications` - **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-platform-intro/ - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-platform-intro/ - Network accessline 72
.withTitle("Friend Request") .withMessage("Alex wants to be your friend!") .withMediaAttachmentUri("https://example.com/avatar.png") - Network accessline 73
.withMessage("Alex wants to be your friend!") .withMediaAttachmentUri("https://example.com/avatar.png") .withActionDisplayType(ActionDisplayType.Iconable) - Network accessline 74
.withMediaAttachmentUri("https://example.com/avatar.png") - Network accessline 376
1. **Requires HzOS v83+** -- `deviceNotification()` requires HzOS v83 or later. On older OS versions, it returns status code 1003 (`ProviderOperationNotSupported`). You can require a minimum OS version in `AndroidManifest.xml` (see [Minimum
skills/hz-platform-sdk/references/rate-and-review.md
- Network accessline 3
- **Kotlin Package**: `horizon.platform.rateandreview` - **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-sdk-sample-rateandreview - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-sdk-sample-rateandreview - Network accessline 265
1. **Requires HzOS v201+** -- both `canLaunchRateAndReview()` and `rateAndReviewLauncher()` require HzOS v201 or later. On older OS versions, they return status code 1003 (`ProviderOperationNotSupported`). You can require a minimum OS versi
skills/hz-platform-sdk/references/rich-presence.md
- Network accessline 3
> **Deprecated**: Rich Presence has been deprecated in favor of [Group Presence](https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-group-presence). New integrations should use the Group Presence API instead. See - Network accessline 6
|-------|-------| | **Kotlin Package** | `horizon.platform.richpresence` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-group-presence | - Network accessline 7
| **Kotlin Package** | `horizon.platform.richpresence` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-group-presence | | **Minimum OS** | HzOS v85 | - Network accessline 8
| **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-group-presence | - Network accessline 388
1. **Rich Presence is deprecated** -- this entire API has been deprecated in favor of [Group Presence](https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-group-presence). New integrations should use `GroupPresenc - Network accessline 396
5. **Requires HzOS v85+** -- all Rich Presence methods require HzOS v85 or later. On older OS versions, they return status code 1003 (`ProviderOperationNotSupported`). You can require a minimum OS version in `AndroidManifest.xml` (see [Mini
skills/hz-platform-sdk/references/user-age-category.md
- Network accessline 4
|-------|-------| | **Kotlin Package** | `horizon.platform.useragecategory` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-get-age-category-api | - Network accessline 5
| **Kotlin Package** | `horizon.platform.useragecategory` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-get-age-category-api | | **Minimum OS** | HzOS v81 (`get()`), HzOS v85 (`report()`) | - Network accessline 6
| **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-get-age-category-api | - Network accessline 309
3. **`report()` requires HzOS v85+** -- on older OS versions, it returns status code 1003 (`ProviderOperationNotSupported`). The `get()` method is available since HzOS v81. You can require a minimum OS version in `AndroidManifest.xml` (see
skills/hz-platform-sdk/references/users.md
- Network accessline 4
|-------|-------| | **Kotlin Package** | `horizon.platform.users` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-presence/#user-and-friends | - Network accessline 5
| **Kotlin Package** | `horizon.platform.users` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-presence/#user-and-friends | | **Minimum OS** | HzOS v78 | - Network accessline 6
| **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-presence/#user-and-friends | - Network accessline 121
[Credential-related source omitted] - Network accessline 122
[Credential-related source omitted] - Access to secretsline 122
[Credential-related source omitted] - Network accessline 285
[Credential-related source omitted] - Network accessline 286
[Credential-related source omitted] - Network accessline 287
[Credential-related source omitted] - Access to secretsline 287
[Credential-related source omitted] - Network accessline 371
5. **Data Use Checkup (DUC)** -- a missing grant fails in two ways, neither obvious. Without `user_id`/`user_profile`, the Graph-backed reads (`get`, `get_org_scoped_id`) **succeed and return wrong data**: IDs come back as the string `"0"` - Network accessline 373
6. **Requires HzOS v78+** -- the Users API requires HzOS v78 or later. On older OS versions, methods return status code 1003 (`ProviderOperationNotSupported`). You can require a minimum OS version in `AndroidManifest.xml` (see [Minimum OS V
skills/hz-psdk-integration/SKILL.md
- Network accessline 90
- **metavr** (Meta VR CLI) — invoke via `metavr <args>` (published as the npm package `metavr`; if `metavr` is not on PATH, run `npx -y metavr <args>`) - A Meta VR developer account: https://developer.meta.com/ - Network accessline 91
- A Meta VR developer account: https://developer.meta.com/ - Network accessline 389
For detailed Android architecture guidance: - Jetpack Compose: https://developer.android.com/jetpack/compose - Network accessline 390
- Jetpack Compose: https://developer.android.com/jetpack/compose - Network accessline 391
- MVVM + ViewModel: https://developer.android.com/topic/architecture - Network accessline 392
- Coroutines: https://developer.android.com/kotlin/coroutines - Network accessline 393
- Hilt DI: https://developer.android.com/training/dependency-injection/hilt-android
skills/hz-psdk-integration/references/abuse-report.md
- Network accessline 3
- **Kotlin Package**: `horizon.platform.abusereport` - **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-sdk-sample-abusereport - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-sdk-sample-abusereport
skills/hz-psdk-integration/references/achievements.md
- Network accessline 3
- **Kotlin Package**: `horizon.platform.achievements` - **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-achievements - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-achievements - Network accessline 129
3. **`addFields()`** -- the `fields` string length should match the achievement's configured `bitfieldLength`. 4. **Names are API names** -- all `name` parameters expect the `api_name` (not a display name); retrieve valid names via `getAllD - Network accessline 130
4. **Names are API names** -- all `name` parameters expect the `api_name` (not a display name); retrieve valid names via `getAllDefinitions()` / `getDefinitionsByName()`. 5. **OS requirement** -- requires HzOS v85+. Older OS returns code 10 - Network accessline 131
5. **OS requirement** -- requires HzOS v85+. Older OS returns code 1003 (`ProviderOperationNotSupported`). Require a min OS in `AndroidManifest.xml` (see [Minimum OS Versions](https://developers.meta.com/horizon/documentation/android-apps/m
skills/hz-psdk-integration/references/application-lifecycle.md
- Network accessline 3
- **Kotlin Package**: `horizon.platform.applicationlifecycle` - **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-application-lifecycle - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-application-lifecycle - Network accessline 139
4. **`LaunchType.Coordinated` is deprecated** -- do not design new flows around it; handle it as a fallback case only. 5. **The `users` field requires the Users SDK** -- to access `LaunchDetails.users`, add the `horizon-platform-sdk-users-k - Network accessline 141
6. **OS gating** -- `getLaunchDetails()` and `launchIntentChanged()` require HzOS v78+; `logDeeplinkResult()` requires v83+. On older OS they return 1003 (`ProviderOperationNotSupported`). Require a minimum OS in `AndroidManifest.xml` (see
skills/hz-psdk-integration/references/application.md
- Network accessline 3
- **Kotlin Package**: `horizon.platform.application` - **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-application - **Minimum OS**: HzOS v78 (core API); v85 for download/install APIs - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-application - **Minimum OS**: HzOS v78 (core API); v85 for download/install APIs - **Maven Artifact**: `horizon-platform-sdk-application-kot - Network accessline 173
1. **`installAppUpdateAndRelaunch()` exits the app** -- it exits once install begins, then relaunches with any deeplink options. Save state first. 2. **Download flow is sequential** -- call `startAppDownload()` before `checkAppDownloadProgr - Network accessline 174
2. **Download flow is sequential** -- call `startAppDownload()` before `checkAppDownloadProgress()`; polling with no active download returns 2012 (`PackageNotFound`). 3. **OS gating** -- `getVersion()` needs HzOS v78; download/install APIs - Network accessline 175
3. **OS gating** -- `getVersion()` needs HzOS v78; download/install APIs need v85. On older OS they return 1003 (`ProviderOperationNotSupported`). Set a min OS in `AndroidManifest.xml` ([Minimum OS Versions](https://developers.meta.com/hori
skills/hz-psdk-integration/references/asset-file.md
- Network accessline 4
|-------|-------| | **Kotlin Package** | `horizon.platform.assetfile` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-sdk-sample-assetfile | - Network accessline 5
| **Kotlin Package** | `horizon.platform.assetfile` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-sdk-sample-assetfile | | **Minimum OS** | HzOS v85 | - Network accessline 6
| **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-sdk-sample-assetfile | - Network accessline 134
- **`completed` does not mean installed** -- after an `AssetFileDownloadUpdate.completed == true`, call `statusById()` and poll until `downloadStatus` changes from `"available"` to `"installed"`. - **Check IAP entitlement before downloading - Network accessline 136
- **Requires HzOS v85+** -- on older OS versions all methods return status code 1003 (`ProviderOperationNotSupported`). Require a minimum OS version in `AndroidManifest.xml` (see [Minimum OS Versions](https://developers.meta.com/horizon/doc
skills/hz-psdk-integration/references/common-setup.md
- Network accessline 7
If the developer has not yet integrated the Horizon Platform SDK, direct them to the setup guide: - **Setup documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-setup-kotlin - Network accessline 8
- **Setup documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-setup-kotlin - Network accessline 25
Browse all available artifacts at: https://central.sonatype.com/search?namespace=com.meta.horizon.platform.sdk - Network accessline 93
4. **Minimum OS version handling** -- on older OS versions that don't support a particular API, calls return status code 1003 (`ProviderOperationNotSupported`). You can either require a minimum OS version in `AndroidManifest.xml` (see [Mini
skills/hz-psdk-integration/references/consent.md
- Network accessline 4
|-------|-------| | **Kotlin Package** | `horizon.platform.consent` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-consent | - Network accessline 5
| **Kotlin Package** | `horizon.platform.consent` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-consent | | **Minimum OS** | HzOS v83 | - Network accessline 6
| **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-consent |
skills/hz-psdk-integration/references/data-use-checkup.md
- Network accessline 3
Read this when the question is **access** — "why is this call failing or returning nothing?" — rather than usage. For how to complete a checkup, see [Complete data use checkup](https://developers.meta.com/horizon/resources/publish-data-use/ - Network accessline 5
[Complete data use checkup](https://developers.meta.com/horizon/resources/publish-data-use/).
skills/hz-psdk-integration/references/device-application-integrity.md
- Network accessline 4
|-------|-------| | **Kotlin Package** | `horizon.platform.deviceapplicationintegrity` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-sdk-sample-deviceintegrity | - Network accessline 5
| **Kotlin Package** | `horizon.platform.deviceapplicationintegrity` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-sdk-sample-deviceintegrity | | **Minimum OS** | HzOS v85 | - Network accessline 6
| **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-sdk-sample-deviceintegrity | - Network accessline 176
4. **Requires HzOS v85+** -- on older OS versions it returns status code 1003 (`ProviderOperationNotSupported`). Require a minimum OS version in `AndroidManifest.xml` (see [Minimum OS Versions](https://developers.meta.com/horizon/documentat
skills/hz-psdk-integration/references/entitlements.md
- Network accessline 3
- **Kotlin Package**: `horizon.platform.entitlements` - **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-entitlement-check - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-entitlement-check - Network accessline 146
3. **Status code 3 means the user is not entitled** -- the primary failure case; recommended behavior is to show a "purchase from the Meta Horizon Store" message and close the app. 4. **No return value on success** -- `getIsViewerEntitled() - Network accessline 147
4. **No return value on success** -- `getIsViewerEntitled()` returns `Void`; success = returning normally without throwing. 5. **Requires HzOS v85+** -- older OS versions return status code 1003 (`ProviderOperationNotSupported`). Require a - Network accessline 148
5. **Requires HzOS v85+** -- older OS versions return status code 1003 (`ProviderOperationNotSupported`). Require a minimum OS version in `AndroidManifest.xml` (see [Minimum OS Versions](https://developers.meta.com/horizon/documentation/and
skills/hz-psdk-integration/references/group-presence.md
- Network accessline 3
- **Kotlin Package**: `horizon.platform.grouppresence` - **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-group-presence - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-group-presence
skills/hz-psdk-integration/references/iap.md
- Network accessline 3
- **Kotlin Package**: `horizon.platform.iap` - **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-iap/ - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-iap/ - Network accessline 136
- **Consume before re-purchase** -- a consumable must be consumed via `consumePurchase()` before it can be bought again. - **Network required except the durable cache** -- handle `NetworkUnavailable` (status code 6); `getViewerPurchasesDura - Network accessline 138
- **Requires HzOS v79+** -- on older OS versions all methods return status code 1003 (`ProviderOperationNotSupported`). Require a minimum OS version in `AndroidManifest.xml` (see [Minimum OS Versions](https://developers.meta.com/horizon/doc
skills/hz-psdk-integration/references/language-pack.md
- Network accessline 3
- **Kotlin Package**: `horizon.platform.languagepack` - **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-language-packs - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-language-packs - Network accessline 158
1. **Requires HzOS v85+** -- both `getCurrent()` and `setCurrent()` require HzOS v85 or later. On older OS versions, they return status code 1003 (`ProviderOperationNotSupported`). Require a minimum OS version in `AndroidManifest.xml` (see
skills/hz-psdk-integration/references/leaderboards.md
- Network accessline 3
- **Kotlin Package**: `horizon.platform.leaderboards` - **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-leaderboards - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-leaderboards - Network accessline 137
1. **OS** -- requires HzOS v83+; older OS returns 1003 (`ProviderOperationNotSupported`). Require a min OS in `AndroidManifest.xml` ([Minimum OS Versions](https://developers.meta.com/horizon/documentation/android-apps/min-os-versions/)) or
skills/hz-psdk-integration/references/notifications.md
- Network accessline 3
- **Kotlin Package**: `horizon.platform.notifications` - **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-platform-intro/ - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-platform-intro/ - Network accessline 80
Same call pattern with more builder options: - **Action button**: `.withActionDisplayType(ActionDisplayType.Iconable)`, `.withActionTitle("Accept")`, `.withActionIcon(ActionIcon.Accept)`, and one of `.withActionAppId(...)` / `.withActionPac - Network accessline 81
- **Action button**: `.withActionDisplayType(ActionDisplayType.Iconable)`, `.withActionTitle("Accept")`, `.withActionIcon(ActionIcon.Accept)`, and one of `.withActionAppId(...)` / `.withActionPackageName(...)` / `.withActionIntentData(...)` - Network accessline 82
- **Media**: `.withMediaAttachmentUri("https://example.com/avatar.png")`, `.withNdid("notif-${System.currentTimeMillis()}")`. - Network accessline 146
1. **Requires HzOS v83+** -- `deviceNotification()` requires HzOS v83 or later. On older OS versions, it returns status code 1003 (`ProviderOperationNotSupported`). Require a minimum OS version in `AndroidManifest.xml` (see [Minimum OS Vers
skills/hz-psdk-integration/references/push-notification.md
- Network accessline 3
- **Kotlin Package**: `horizon.platform.pushnotification` - **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-platform-intro/ - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/android-apps/ps-platform-intro/
skills/hz-psdk-integration/references/rate-and-review.md
- Network accessline 4
|-------|-------| | **Kotlin Package** | `horizon.platform.rateandreview` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-sdk-sample-rateandreview | - Network accessline 5
| **Kotlin Package** | `horizon.platform.rateandreview` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-sdk-sample-rateandreview | | **Minimum OS** | HzOS v201 | - Network accessline 6
| **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-sdk-sample-rateandreview | - Network accessline 162
1. **Requires HzOS v201+** -- on older OS versions both methods return status code 1003 (`ProviderOperationNotSupported`). Require a minimum OS version in `AndroidManifest.xml` (see [Minimum OS Versions](https://developers.meta.com/horizon/
skills/hz-psdk-integration/references/rich-presence.md
- Network accessline 3
> **Deprecated**: Rich Presence has been deprecated in favor of [Group Presence](https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-group-presence). New integrations should use the Group Presence API instead. See - Network accessline 6
|-------|-------| | **Kotlin Package** | `horizon.platform.richpresence` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-group-presence | - Network accessline 7
| **Kotlin Package** | `horizon.platform.richpresence` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-group-presence | | **Minimum OS** | HzOS v85 | - Network accessline 8
| **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-group-presence | - Network accessline 152
1. **Rich Presence is deprecated** -- this entire API has been deprecated in favor of [Group Presence](https://developers.meta.com/horizon/documentation/android-apps/ps-platform-sdk-group-presence). New integrations should use `GroupPresenc - Network accessline 158
4. **Requires HzOS v85+** -- all Rich Presence methods require HzOS v85 or later. On older OS versions, they return status code 1003 (`ProviderOperationNotSupported`). Require a minimum OS version in `AndroidManifest.xml` (see [Minimum OS V
skills/hz-psdk-integration/references/user-age-category.md
- Network accessline 4
|-------|-------| | **Kotlin Package** | `horizon.platform.useragecategory` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-get-age-category-api | - Network accessline 5
| **Kotlin Package** | `horizon.platform.useragecategory` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-get-age-category-api | | **Minimum OS** | HzOS v81 (`get()`), HzOS v85 (`report()`) | - Network accessline 6
| **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-get-age-category-api | - Network accessline 173
3. **`report()` requires HzOS v85+**, **`get()` requires HzOS v81+** -- on older OS versions the unsupported method returns status code 1003 (`ProviderOperationNotSupported`). Require a minimum OS version in `AndroidManifest.xml` (see [Mini
skills/hz-psdk-integration/references/users.md
- Network accessline 4
|-------|-------| | **Kotlin Package** | `horizon.platform.users` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-presence/#user-and-friends | - Network accessline 5
| **Kotlin Package** | `horizon.platform.users` | | **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-presence/#user-and-friends | | **Minimum OS** | HzOS v78 | - Network accessline 6
| **Documentation** | https://developers.meta.com/horizon/documentation/android-apps/ps-presence/#user-and-friends | - Network accessline 88
[Credential-related source omitted] - Network accessline 89
[Credential-related source omitted] - Network accessline 90
[Credential-related source omitted] - Access to secretsline 90
[Credential-related source omitted] - Network accessline 177
3. **`getLoggedInUser()` is available offline** -- works without network connectivity, unlike most other methods. 4. **User proof nonces are single-use** -- request a new nonce from `getUserProof()` per verification attempt. 5. **Data Use C - Network accessline 178
4. **User proof nonces are single-use** -- request a new nonce from `getUserProof()` per verification attempt. 5. **Data Use Checkup (DUC)** -- a missing grant fails in two ways, neither obvious. Without `user_id`/`user_profile`, the Graph- - Network accessline 179
5. **Data Use Checkup (DUC)** -- a missing grant fails in two ways, neither obvious. Without `user_id`/`user_profile`, the Graph-backed reads (`get`, `get_org_scoped_id`) **succeed and return wrong data**: IDs come back as the string `"0"` - Network accessline 180
6. **Requires HzOS v78+** -- older OS versions return status code 1003 (`ProviderOperationNotSupported`). Require a minimum OS version in `AndroidManifest.xml` (see [Minimum OS Versions](https://developers.meta.com/horizon/documentation/and
skills/hz-quest-verify-first/SKILL.md
- Broad permissionsline 1
Bash(metavr:*), Bash(npx:*)
skills/hz-react-native-expo/SKILL.md
- Broad permissionsline 1
Read, Bash(npx:*), Bash(npm:*), Bash(yarn:*), Bash(expo:*), Bash(metavr:*), Bash(hzdb:*) - Network accessline 65
> https://www.meta.com/experiences/expo-go/25322546364000780/ - Network accessline 145
Get a real `horizonAppId` from the developer dashboard (https://developers.meta.com). Full option reference and gotchas: - Network accessline 146
(https://developers.meta.com). Full option reference and gotchas: - Network accessline 244
- Getting started with React Native apps on Meta Horizon OS — https://developers.meta.com/horizon/documentation/android-apps/react-native-apps - Network accessline 245
https://developers.meta.com/horizon/documentation/android-apps/react-native-apps - Network accessline 246
- React Native for Meta Horizon OS (full reference) — https://oss.callstack.com/react-native-meta-horizon-os/docs/ - `expo-horizon-core` — https://www.npmjs.com/package/expo-horizon-core - Network accessline 247
https://oss.callstack.com/react-native-meta-horizon-os/docs/ - Network accessline 248
- `expo-horizon-core` — https://www.npmjs.com/package/expo-horizon-core - Network accessline 249
- Expo development builds — https://docs.expo.dev/develop/development-builds/introduction/
skills/hz-react-native-expo/references/expo-horizon-core-setup.md
- Network accessline 51
| Option | Meaning | |---|---| | `horizonAppId` | Your Meta Horizon App ID from https://developers.meta.com. Use a placeholder only for local iteration; set the real ID before Store work and for IAP/entitlements. | - Network accessline 52
|---|---| | `horizonAppId` | Your Meta Horizon App ID from https://developers.meta.com. Use a placeholder only for local iteration; set the real ID before Store work and for IAP/entitlements. | | `defaultWidth` / `defaultHeight` | Initial 2 - Network accessline 53
| `horizonAppId` | Your Meta Horizon App ID from https://developers.meta.com. Use a placeholder only for local iteration; set the real ID before Store work and for IAP/entitlements. | - Network accessline 59
Full option list: https://www.npmjs.com/package/expo-horizon-core
skills/hz-react-native-expo/references/horizon-libraries.md
- Network accessline 102
- Unsupported dependencies — https://developers.meta.com/horizon/documentation/android-apps/unsupported-dependencies - Network accessline 103
https://developers.meta.com/horizon/documentation/android-apps/unsupported-dependencies - Network accessline 105
https://developers.meta.com/horizon/documentation/android-apps/unsupported-permissions
skills/hz-spatial-sdk/SKILL.md
- Network accessline 317
If your app needs to talk to a local development service over `http://` or - Network accessline 318
`ws://`, you may also need debug-only cleartext traffic settings or a network security config. Keep that scoped to development builds and prefer `https://` and `wss://` in release builds. - Network accessline 319
security config. Keep that scoped to development builds and prefer `https://`
skills/hz-store-pwa/SKILL.md
- Broad permissionsline 1
Bash(npx:*), Bash(npm:*), Bash(curl:*), Bash(bubblewrap:*) - Network accessline 142
curl -s -o /dev/null -w "%{http_code}\n" https://<DOMAIN>/manifest.webmanifest - Network accessline 222
`public/.well-known/assetlinks.json` on the same domain (and every trusted origin), with the package name and the colon-hex cert SHA-256. Redeploy, then `curl https://<DOMAIN>/.well-known/assetlinks.json` to confirm. - Network accessline 224
`curl https://<DOMAIN>/.well-known/assetlinks.json` to confirm. - Network accessline 226
**Security:** the keystore and app secret NEVER go to the public host — verify with `curl -o /dev/null -w "%{http_code}" https://<DOMAIN>/android.keystore` (expect 404). - Network accessline 227
`curl -o /dev/null -w "%{http_code}" https://<DOMAIN>/android.keystore` (expect 404). - Network accessline 255
**Likely first-time blocker:** `must first agree to our Developer Distribution Agreement` — an org admin must sign it once at `https://developers.meta.com/horizon/manage/organizations/<ORG_ID>/legal-documents/`. Pause, - Network accessline 256
Agreement` — an org admin must sign it once at `https://developers.meta.com/horizon/manage/organizations/<ORG_ID>/legal-documents/`. Pause, ask the user, then retry the same command. - Network accessline 257
`https://developers.meta.com/horizon/manage/organizations/<ORG_ID>/legal-documents/`. Pause,
skills/hz-store-pwa/references/bubblewrap-packaging.md
- Network accessline 61
Author it from the authoritative [`TwaManifest` schema](https://github.com/meta-quest/bubblewrap/blob/main/bubblewrap/packages/core/src/lib/TwaManifest.ts) - Network accessline 62
[`TwaManifest` schema](https://github.com/meta-quest/bubblewrap/blob/main/bubblewrap/packages/core/src/lib/TwaManifest.ts) - Network accessline 117
curl https://<DOMAIN>/.well-known/assetlinks.json - Network accessline 129
curl -o /dev/null -w "%{http_code}" https://<DOMAIN>/android.keystore # expect 404
skills/hz-store-pwa/references/manifest-and-icons.md
- Network accessline 22
- `theme_color` / `theme_color_dark` color the custom tab bar on a 2D panel. - **Multi-origin 2D apps:** add `"additional_trusted_origins": ["https://other.example"]` and host - Network accessline 23
- **Multi-origin 2D apps:** add `"additional_trusted_origins": ["https://other.example"]` and host `/.well-known/assetlinks.json` on **each** such origin to keep them in scope. - Network accessline 24
`"additional_trusted_origins": ["https://other.example"]` and host
skills/hz-store-pwa/references/store-upload.md
skills/hz-store-pwa/references/troubleshooting.md
- Network accessline 37
curl https://<DOMAIN>/.well-known/assetlinks.json - Network accessline 70
**Fix:** It must be `application/manifest+json`. Verify with `curl -s -I https://<DOMAIN>/manifest.webmanifest | grep -i content-type`. - Network accessline 71
`curl -s -I https://<DOMAIN>/manifest.webmanifest | grep -i content-type`. - Network accessline 79
**Fix:** An org admin signs it once at `https://developers.meta.com/horizon/manage/organizations/<ORG_ID>/legal-documents/`, then - Network accessline 80
`https://developers.meta.com/horizon/manage/organizations/<ORG_ID>/legal-documents/`, then - Network accessline 88
**Fix:** Move it outside the tree, redeploy, and confirm it 404s: `curl -o /dev/null -w "%{http_code}" https://<DOMAIN>/android.keystore`. Rotate the - Network accessline 89
`curl -o /dev/null -w "%{http_code}" https://<DOMAIN>/android.keystore`. Rotate the
skills/hz-store-pwa/references/vercel-deploy.md
skills/hz-store-submit/SKILL.md
skills/hz-store-submit/references/submission-checklist.md
- Network accessline 59
checkups go to manual review. - [ ] Confirm which grants the app actually needs — several platform features are not gated at all. See [the DUC grant map](https://github.com/meta-quest/agentic-tools/blob/main/skills/hz-psdk-integration - Network accessline 60
- [ ] Confirm which grants the app actually needs — several platform features are not gated at all. See [the DUC grant map](https://github.com/meta-quest/agentic-tools/blob/main/skills/hz-psdk-integration/references/data-use-checkup.m - Network accessline 61
not gated at all. See [the DUC grant map](https://github.com/meta-quest/agentic-tools/blob/main/skills/hz-psdk-integration/references/data-use-checkup.md) - Network accessline 62
and [Complete data use checkup](https://developers.meta.com/horizon/resources/publish-data-use/).
skills/hz-unity-device-readiness/references/hand-tracking-patterns.md
- Network accessline 246
## Official Documentation - [Spirit Sling Overview](https://developers.meta.com/horizon/documentation/unity/spirit-sling/) - Network accessline 247
- [Spirit Sling Overview](https://developers.meta.com/horizon/documentation/unity/spirit-sling/) - Network accessline 248
- [Hand Tracking Integration](https://developers.meta.com/horizon/documentation/unity/spirit-sling/#intractable-virtual-objects-using-isdk-and-physics-to-enhance-gameplay) - Network accessline 249
- [Meta Interaction SDK Overview](https://developers.meta.com/horizon/documentation/unity/unity-isdk-interaction-sdk-overview/)
skills/hz-unity-face-tracking/references/ARKitEyeGazeBlendshapeDriver.cs
skills/hz-unity-face-tracking/references/ARKitOVRCustomFace.cs
skills/hz-unity-fbx-import/FALLBACK_MANUAL_IMPORT.md
- Network accessline 16
Validate the file extension against supported types (`.fbx`, `.zip` for models; `.png`, `.jpg`, `.jpeg` for textures). Strip query parameters before checking extension using `ExtractFilenameFromUrl()` logic. Reject files already inside the
skills/hz-unity-fbx-import/SKILL.md
- Network accessline 27
**`unity command import_asset` takes an absolute *filesystem* path — it does not download.** Verified: passing a URL fails with *"Source file 'https://…' does not exist."* So a remote model is always two - Network accessline 28
passing a URL fails with *"Source file 'https://…' does not exist."* So a remote model is always two - Network accessline 37
1. **Remote URL** (HTTP/HTTPS): - Must start with `http://` or `https://` - Network accessline 38
- Must start with `http://` or `https://` - Network accessline 41
[Credential-related source omitted] - Network accessline 42
[Credential-related source omitted] - Network accessline 43
[Credential-related source omitted] - Network accessline 44
- Example: `https://cdn.fbcdn.net/path/file.fbx?_nc_gid=xxx&_nc_oc=yyy&oh=zzz` - Network accessline 53
- Can be URL or local path - Must contain an FBX file inside — extract before importing - Example: `https://example.com/assets.zip` - Network accessline 55
- Example: `https://example.com/assets.zip` - Network accessline 61
Valid examples: - `https://cdn.example.com/assets/models/chair.fbx` - Network accessline 62
- `https://cdn.example.com/assets/models/chair.fbx` - Network accessline 63
[Credential-related source omitted] - Network accessline 64
- `https://scontent.fbcdn.net/model.fbx?_nc_gid=xxx&_nc_oc=yyy&oh=zzz` (Meta CDN with auth) - Network accessline 65
- `http://localhost:8000/models/character.fbx` - Network accessline 66
- `C:/Projects/Models/tree.fbx` (Windows absolute) - `/home/user/assets/car.fbx` (Unix absolute) - `https://github.com/user/repo/releases/download/v1.0/model.zip` - Network accessline 68
- `https://github.com/user/repo/releases/download/v1.0/model.zip` - Network accessline 83
# macOS / Linux curl -fSL "https://example.com/models/office_chair.fbx" -o /tmp/office_chair.fbx - Network accessline 84
curl -fSL "https://example.com/models/office_chair.fbx" -o /tmp/office_chair.fbx - Network accessline 86
# Windows (PowerShell) Invoke-WebRequest -Uri "https://example.com/models/office_chair.fbx" -OutFile "$env:TEMP\office_chair.fbx" - Network accessline 87
Invoke-WebRequest -Uri "https://example.com/models/office_chair.fbx" -OutFile "$env:TEMP\office_chair.fbx" - Network accessline 166
Ask for clarification: "I need the complete path to the FBX file. Is it: - A remote URL? (e.g., https://example.com/models/car.fbx) - Network accessline 167
"I need the complete path to the FBX file. Is it: - A remote URL? (e.g., https://example.com/models/car.fbx) - A local file? Please provide the absolute path (e.g., C:/Projects/models/car.fbx) - Network accessline 168
- A remote URL? (e.g., https://example.com/models/car.fbx) - Network accessline 177
Clarify the protocol: "Should this be: - https://example.com/models/chair.fbx (HTTPS) - Network accessline 178
"Should this be: - https://example.com/models/chair.fbx (HTTPS) - http://example.com/models/chair.fbx (HTTP) - Network accessline 179
- https://example.com/models/chair.fbx (HTTPS) - Network accessline 180
- http://example.com/models/chair.fbx (HTTP) - Network accessline 200
2. **Never assume paths** - always use what's explicitly provided or ask for clarification 3. **Prefer absolute paths** over any form of relative path 4. **Include protocol** for all remote URLs (http://, https://) - Network accessline 201
3. **Prefer absolute paths** over any form of relative path 4. **Include protocol** for all remote URLs (http://, https://) 5. **Quote URLs in the shell** so `&` in query parameters isn't treated as a job separator - Network accessline 202
4. **Include protocol** for all remote URLs (http://, https://) - Network accessline 215
- [ ] Source is a complete URL or absolute path - [ ] URL includes protocol if remote (http:// or https://) - Network accessline 216
- [ ] URL includes protocol if remote (http:// or https://) - Network accessline 240
| Source Type | Format | Example | Needs download first? | |------------|--------|---------|---| | Remote HTTPS | `https://domain/path/file.fbx` | `https://cdn.example.com/models/chair.fbx` | Yes | - Network accessline 241
|------------|--------|---------|---| | Remote HTTPS | `https://domain/path/file.fbx` | `https://cdn.example.com/models/chair.fbx` | Yes | | Remote HTTP | `http://domain/path/file.fbx` | `http://localhost:8000/model.fbx` | Yes | - Network accessline 242
| Remote HTTPS | `https://domain/path/file.fbx` | `https://cdn.example.com/models/chair.fbx` | Yes | - Network accessline 243
| Remote HTTP | `http://domain/path/file.fbx` | `http://localhost:8000/model.fbx` | Yes | - Network accessline 244
| Local Windows | `C:/path/to/file.fbx` | `C:/Users/name/Downloads/robot.fbx` | No | | Local Mac/Linux | `/path/to/file.fbx` | `/home/user/models/tree.fbx` | No | | ZIP archive | Same as above with `.zip` | `https://example.com/pack.zip` | - Network accessline 246
| ZIP archive | Same as above with `.zip` | `https://example.com/pack.zip` | Yes, plus extract |
skills/hz-unity-fbx-import/references/manual-import-pipeline.md
- Network accessline 22
Validate the file extension against supported types (`.fbx`, `.zip` for models; `.png`, `.jpg`, `.jpeg` for textures). Strip query parameters before checking extension using `ExtractFilenameFromUrl()` logic. Reject files already inside the
skills/hz-unity-fbx-import/references/unity-mcp-fallback.md
- Network accessline 28
{ "Name": "office_chair", "FbxUrl": "https://example.com/models/office_chair.fbx", - Network accessline 29
"Name": "office_chair", "FbxUrl": "https://example.com/models/office_chair.fbx", "Height": 1.0, - Network accessline 30
"FbxUrl": "https://example.com/models/office_chair.fbx", - Network accessline 31
"Height": 1.0, "AlbedoTextureUrl": "https://example.com/textures/chair_diffuse.png" } - Network accessline 32
"AlbedoTextureUrl": "https://example.com/textures/chair_diffuse.png"
skills/hz-unity-meta-core-sdk/SKILL.md
- Network accessline 193
- [Meta XR Core SDK Overview](https://developers.meta.com/horizon/documentation/unity/book-unity-dg) - Network accessline 194
- [OVRCameraRig Configuration](https://developers.meta.com/horizon/documentation/unity/unity-ovrcamerarig) - Network accessline 195
- [Project Setup Tool](https://developers.meta.com/horizon/documentation/unity/unity-upst-overview) - Network accessline 196
- [Android Manifest Generation](https://developers.meta.com/horizon/documentation/unity/unity-android-manifest) - Network accessline 197
- [Passthrough API](https://developers.meta.com/horizon/documentation/unity/unity-passthrough) - Network accessline 198
- [Hand Tracking Overview](https://developers.meta.com/horizon/documentation/unity/unity-handtracking-overview) - Network accessline 199
- [Spatial Anchors Overview](https://developers.meta.com/horizon/documentation/unity/unity-spatial-anchors-overview) - Network accessline 200
- [Scene Overview](https://developers.meta.com/horizon/documentation/unity/unity-scene-overview) - Network accessline 201
- [Compositor Layers (OVROverlay)](https://developers.meta.com/horizon/documentation/unity/unity-ovroverlay) - Network accessline 202
- [Controller Input](https://developers.meta.com/horizon/documentation/unity/unity-ovrinput) - Network accessline 203
- [Project Configuration](https://developers.meta.com/horizon/documentation/unity/unity-project-configuration)
skills/hz-unity-meta-core-sdk/references/android-manifest.md
skills/hz-unity-meta-core-sdk/references/boundaryless.md
skills/hz-unity-meta-core-sdk/references/controller-input.md
skills/hz-unity-meta-core-sdk/references/hand-tracking.md
- Network accessline 87
- https://developers.meta.com/horizon/documentation/unity/unity-handtracking-overview - Network accessline 88
- https://developers.meta.com/horizon/documentation/unity/fast-motion-mode - Network accessline 89
- https://developers.meta.com/horizon/documentation/unity/unity-wide-motion-mode - Network accessline 90
- https://developers.meta.com/horizon/documentation/unity/unity-multimodal
skills/hz-unity-meta-core-sdk/references/ovr-camera-rig.md
skills/hz-unity-meta-core-sdk/references/ovr-manager.md
skills/hz-unity-meta-core-sdk/references/ovr-overlay.md
skills/hz-unity-meta-core-sdk/references/passthrough.md
skills/hz-unity-meta-core-sdk/references/project-setup-tool.md
- Network accessline 241
- https://developers.meta.com/horizon/documentation/unity/unity-upst-overview
skills/hz-unity-meta-core-sdk/references/project-setup-workflow.md
- Network accessline 183
- https://developers.meta.com/horizon/documentation/unity/unity-project-setup - Network accessline 184
- https://developers.meta.com/horizon/documentation/unity/unity-project-configuration - Network accessline 185
- https://developers.meta.com/horizon/documentation/unity/unity-build - Network accessline 186
- https://developers.meta.com/horizon/documentation/unity/unity-development-overview
skills/hz-unity-meta-core-sdk/references/scene-api.md
- Network accessline 80
- https://developers.meta.com/horizon/documentation/unity/unity-scene-overview - Network accessline 81
- https://developers.meta.com/horizon/documentation/unity/unity-mr-utility-kit-overview - Network accessline 82
- https://developers.meta.com/horizon/documentation/unity/unity-scene-build-mixed-reality
skills/hz-unity-meta-core-sdk/references/spatial-anchors.md
- Network accessline 92
- https://developers.meta.com/horizon/documentation/unity/unity-spatial-anchors-overview - Network accessline 93
- https://developers.meta.com/horizon/documentation/unity/unity-spatial-anchors-persist-content - Network accessline 94
- https://developers.meta.com/horizon/documentation/unity/unity-shared-spatial-anchors
skills/hz-unity-meta-interaction-sdk/SKILL.md
- Network accessline 30
Meta's own guidance too: Quick Actions are "the fastest and recommended way" to add the rig ([docs](https://developers.meta.com/horizon/documentation/unity/unity-isdk-add-comprehensive-interaction-rig)). - Network accessline 31
([docs](https://developers.meta.com/horizon/documentation/unity/unity-isdk-add-comprehensive-interaction-rig)).
skills/hz-unity-meta-interaction-sdk/references/documentation.md
- Network accessline 37
| Space | Base | Use | |---|---|---| | Guides | `https://developers.meta.com/horizon/documentation/unity/<slug>` | Concepts, tutorials, Quick Actions | - Network accessline 38
|---|---|---| | Guides | `https://developers.meta.com/horizon/documentation/unity/<slug>` | Concepts, tutorials, Quick Actions | | API reference | `https://developers.meta.com/horizon/reference/interaction/latest/<symbol>` | Class/interface - Network accessline 39
| Guides | `https://developers.meta.com/horizon/documentation/unity/<slug>` | Concepts, tutorials, Quick Actions | - Network accessline 40
| API reference | `https://developers.meta.com/horizon/reference/interaction/latest/<symbol>` | Class/interface signatures, e.g. `class_oculus_interaction_hand_grab_distance_hand_grab_interactor` | - Network accessline 44
| Page | Link | |---|---| | Interaction SDK (overview) | [unity-isdk-interaction-sdk-overview](https://developers.meta.com/horizon/documentation/unity/unity-isdk-interaction-sdk-overview) | - Network accessline 45
|---|---| | Interaction SDK (overview) | [unity-isdk-interaction-sdk-overview](https://developers.meta.com/horizon/documentation/unity/unity-isdk-interaction-sdk-overview) | | Features Overview | [unity-isdk-features-overview](https://devel - Network accessline 46
| Interaction SDK (overview) | [unity-isdk-interaction-sdk-overview](https://developers.meta.com/horizon/documentation/unity/unity-isdk-interaction-sdk-overview) | - Network accessline 47
| Features Overview | [unity-isdk-features-overview](https://developers.meta.com/horizon/documentation/unity/unity-isdk-features-overview) | - Network accessline 48
| Getting Started with Interaction SDK | [unity-isdk-getting-started](https://developers.meta.com/horizon/documentation/unity/unity-isdk-getting-started) | - Network accessline 49
| **Packages and Requirements** (install, deps, supported devices) | [unity-isdk-packages-and-requirements](https://developers.meta.com/horizon/documentation/unity/unity-isdk-packages-and-requirements) | - Network accessline 50
| Interaction Model Overview | [unity-isdk-interaction-model-overview](https://developers.meta.com/horizon/documentation/unity/unity-isdk-interaction-model-overview) | - Network accessline 51
| Interactors | [unity-isdk-interactor](https://developers.meta.com/horizon/documentation/unity/unity-isdk-interactor) | - Network accessline 52
| Input Data Overview | [unity-isdk-input-processing](https://developers.meta.com/horizon/documentation/unity/unity-isdk-input-processing) | - Network accessline 56
| Page | Link | |---|---| | **Add Interactions with Quick Actions** (landing) | [unity-isdk-quick-actions](https://developers.meta.com/horizon/documentation/unity/unity-isdk-quick-actions) | - Network accessline 57
|---|---| | **Add Interactions with Quick Actions** (landing) | [unity-isdk-quick-actions](https://developers.meta.com/horizon/documentation/unity/unity-isdk-quick-actions) | | OVR Interaction Rig Quick Action | [unity-isdk-ovr-interaction- - Network accessline 58
| **Add Interactions with Quick Actions** (landing) | [unity-isdk-quick-actions](https://developers.meta.com/horizon/documentation/unity/unity-isdk-quick-actions) | - Network accessline 59
| OVR Interaction Rig Quick Action | [unity-isdk-ovr-interaction-rig-quick-action](https://developers.meta.com/horizon/documentation/unity/unity-isdk-ovr-interaction-rig-quick-action) | - Network accessline 60
| UnityXR Interaction Rig Quick Action | [unity-isdk-unityxr-interaction-rig-quick-action](https://developers.meta.com/horizon/documentation/unity/unity-isdk-unityxr-interaction-rig-quick-action) | - Network accessline 61
| Grab Quick Action | [unity-isdk-grab-quick-action](https://developers.meta.com/horizon/documentation/unity/unity-isdk-grab-quick-action) | - Network accessline 62
| Distance Grab Quick Action | [unity-isdk-distance-grab-quick-action](https://developers.meta.com/horizon/documentation/unity/unity-isdk-distance-grab-quick-action) | - Network accessline 63
| Ray Grab Quick Action | [unity-isdk-ray-grab-quick-action](https://developers.meta.com/horizon/documentation/unity/unity-isdk-ray-grab-quick-action) | - Network accessline 64
| Teleport Quick Action | [unity-isdk-teleport-quick-action](https://developers.meta.com/horizon/documentation/unity/unity-isdk-teleport-quick-action) | - Network accessline 65
| Poke Canvas Quick Action | [unity-isdk-poke-quick-action](https://developers.meta.com/horizon/documentation/unity/unity-isdk-poke-quick-action) | - Network accessline 66
| Ray Canvas Quick Action | [unity-isdk-ray-quick-action](https://developers.meta.com/horizon/documentation/unity/unity-isdk-ray-quick-action) | - Network accessline 75
| Page | Link | |---|---| | Create the Comprehensive Interaction Rig | [unity-isdk-add-comprehensive-interaction-rig](https://developers.meta.com/horizon/documentation/unity/unity-isdk-add-comprehensive-interaction-rig) | - Network accessline 76
|---|---| | Create the Comprehensive Interaction Rig | [unity-isdk-add-comprehensive-interaction-rig](https://developers.meta.com/horizon/documentation/unity/unity-isdk-add-comprehensive-interaction-rig) | | The Interaction Rig (concept) | - Network accessline 77
| Create the Comprehensive Interaction Rig | [unity-isdk-add-comprehensive-interaction-rig](https://developers.meta.com/horizon/documentation/unity/unity-isdk-add-comprehensive-interaction-rig) | - Network accessline 78
| The Interaction Rig (concept) | [unity-isdk-cameraless-rig](https://developers.meta.com/horizon/documentation/unity/unity-isdk-cameraless-rig) | - Network accessline 79
| Create the UnityXR Interaction Rig | [unity-isdk-add-comprehensive-interaction-rig-unityxr](https://developers.meta.com/horizon/documentation/unity/unity-isdk-add-comprehensive-interaction-rig-unityxr) | - Network accessline 80
| Configure Meta XR camera settings (OVRCameraRig) | [unity-ovrcamerarig](https://developers.meta.com/horizon/documentation/unity/unity-ovrcamerarig) | - Network accessline 84
| Page | Link | |---|---| | Grab Interaction Overview | [unity-isdk-grab-interaction-overview](https://developers.meta.com/horizon/documentation/unity/unity-isdk-grab-interaction-overview) | - Network accessline 85
|---|---| | Grab Interaction Overview | [unity-isdk-grab-interaction-overview](https://developers.meta.com/horizon/documentation/unity/unity-isdk-grab-interaction-overview) | | Hand Grab Interactions | [unity-isdk-hand-grab-interaction](htt - Network accessline 86
| Grab Interaction Overview | [unity-isdk-grab-interaction-overview](https://developers.meta.com/horizon/documentation/unity/unity-isdk-grab-interaction-overview) | - Network accessline 87
| Hand Grab Interactions | [unity-isdk-hand-grab-interaction](https://developers.meta.com/horizon/documentation/unity/unity-isdk-hand-grab-interaction) | - Network accessline 88
| Distance Hand Grab Interactions | [unity-isdk-distance-hand-grab-interaction](https://developers.meta.com/horizon/documentation/unity/unity-isdk-distance-hand-grab-interaction) | - Network accessline 89
| Touch Hand Grab Interactions | [unity-isdk-touch-hand-grab-interaction](https://developers.meta.com/horizon/documentation/unity/unity-isdk-touch-hand-grab-interaction) | - Network accessline 90
| Movement Providers | [unity-isdk-movement-providers](https://developers.meta.com/horizon/documentation/unity/unity-isdk-movement-providers) | - Network accessline 91
| Creating Grabbable Objects (tutorial) | [unity-isdk-create-grabbable-object](https://developers.meta.com/horizon/documentation/unity/unity-isdk-create-grabbable-object) | - Network accessline 92
| **Grab Interaction Troubleshooting** | [unity-isdk-hand-grab-troubleshooting](https://developers.meta.com/horizon/documentation/unity/unity-isdk-hand-grab-troubleshooting) | - Network accessline 93
| Create Ghost Reticles | [unity-isdk-create-ghost-reticles](https://developers.meta.com/horizon/documentation/unity/unity-isdk-create-ghost-reticles) | - Network accessline 97
| Page | Link | |---|---| | Poke Interaction | [unity-isdk-poke-interaction](https://developers.meta.com/horizon/documentation/unity/unity-isdk-poke-interaction) | - Network accessline 98
|---|---| | Poke Interaction | [unity-isdk-poke-interaction](https://developers.meta.com/horizon/documentation/unity/unity-isdk-poke-interaction) | | Ray Interaction | [unity-isdk-ray-interaction](https://developers.meta.com/horizon/documen - Network accessline 99
| Poke Interaction | [unity-isdk-poke-interaction](https://developers.meta.com/horizon/documentation/unity/unity-isdk-poke-interaction) | - Network accessline 100
| Ray Interaction | [unity-isdk-ray-interaction](https://developers.meta.com/horizon/documentation/unity/unity-isdk-ray-interaction) | - Network accessline 101
| Gaze Interaction | [unity-isdk-gaze-interaction](https://developers.meta.com/horizon/documentation/unity/unity-isdk-gaze-interaction) | - Network accessline 102
| Creating UIs (overview) | [unity-isdk-create-ui-overview](https://developers.meta.com/horizon/documentation/unity/unity-isdk-create-ui-overview) | - Network accessline 103
| Unity Canvas Integration | [unity-isdk-canvas-integration](https://developers.meta.com/horizon/documentation/unity/unity-isdk-canvas-integration) | - Network accessline 104
| Create a Curved or Flat UI | [unity-isdk-create-ui](https://developers.meta.com/horizon/documentation/unity/unity-isdk-create-ui) | - Network accessline 105
| Creating Pokeable UIs | [unity-isdk-create-pokeable-ui](https://developers.meta.com/horizon/documentation/unity/unity-isdk-create-pokeable-ui) | - Network accessline 106
| Use a Ray Interaction with a UI | [unity-isdk-use-ray-with-ui](https://developers.meta.com/horizon/documentation/unity/unity-isdk-use-ray-with-ui) | - Network accessline 110
| Page | Link | |---|---| | Locomotion Interactions | [unity-isdk-locomotion-interactions](https://developers.meta.com/horizon/documentation/unity/unity-isdk-locomotion-interactions) | - Network accessline 111
|---|---| | Locomotion Interactions | [unity-isdk-locomotion-interactions](https://developers.meta.com/horizon/documentation/unity/unity-isdk-locomotion-interactions) | | Teleport Interaction | [unity-isdk-teleport-interaction](https://deve - Network accessline 112
| Locomotion Interactions | [unity-isdk-locomotion-interactions](https://developers.meta.com/horizon/documentation/unity/unity-isdk-locomotion-interactions) | - Network accessline 113
| Teleport Interaction | [unity-isdk-teleport-interaction](https://developers.meta.com/horizon/documentation/unity/unity-isdk-teleport-interaction) | - Network accessline 114
| Locomotion sample | [unity-sample-isdk-locomotion](https://developers.meta.com/horizon/documentation/unity/unity-sample-isdk-locomotion) | - Network accessline 118
| Page | Link | |---|---| | Detecting Poses | [unity-isdk-detecting-poses](https://developers.meta.com/horizon/documentation/unity/unity-isdk-detecting-poses) | - Network accessline 119
|---|---| | Detecting Poses | [unity-isdk-detecting-poses](https://developers.meta.com/horizon/documentation/unity/unity-isdk-detecting-poses) | | Custom Hand Models | [unity-isdk-customize-hand-model](https://developers.meta.com/horizon/do - Network accessline 120
| Detecting Poses | [unity-isdk-detecting-poses](https://developers.meta.com/horizon/documentation/unity/unity-isdk-detecting-poses) | - Network accessline 121
| Custom Hand Models | [unity-isdk-customize-hand-model](https://developers.meta.com/horizon/documentation/unity/unity-isdk-customize-hand-model) | - Network accessline 122
| Hand Visual | [unity-isdk-hand-visual](https://developers.meta.com/horizon/documentation/unity/unity-isdk-hand-visual) | - Network accessline 123
| OpenXR Hand | [unity-isdk-openxr-hand](https://developers.meta.com/horizon/documentation/unity/unity-isdk-openxr-hand) | - Network accessline 124
| Hand Tracking Overview (Core SDK) | [unity-handtracking-overview](https://developers.meta.com/horizon/documentation/unity/unity-handtracking-overview) | - Network accessline 128
| Page | Link | |---|---| | Example Scenes index | [unity-isdk-example-scenes](https://developers.meta.com/horizon/documentation/unity/unity-isdk-example-scenes) | - Network accessline 129
|---|---| | Example Scenes index | [unity-isdk-example-scenes](https://developers.meta.com/horizon/documentation/unity/unity-isdk-example-scenes) | | DistanceGrabExamples | [unity-isdk-distance-grab-examples-scene](https://developers.meta.c - Network accessline 130
| Example Scenes index | [unity-isdk-example-scenes](https://developers.meta.com/horizon/documentation/unity/unity-isdk-example-scenes) | - Network accessline 131
| DistanceGrabExamples | [unity-isdk-distance-grab-examples-scene](https://developers.meta.com/horizon/documentation/unity/unity-isdk-distance-grab-examples-scene) | - Network accessline 132
| TouchGrabExamples | [unity-isdk-touch-grab-examples-scene](https://developers.meta.com/horizon/documentation/unity/unity-isdk-touch-grab-examples-scene) | - Network accessline 133
| Interaction SDK in DroneRage | [unity-dronerage-interaction-sdk](https://developers.meta.com/horizon/documentation/unity/unity-dronerage-interaction-sdk) | - Network accessline 143
- [Grab](https://developers.meta.com/horizon/design/grab_usage) · [Touch](https://developers.meta.com/horizon/design/touch_usage) · [Ray casting](https://developers.meta.com/horizon/design/raycasting_usage) · [Microgestures](https://develop - Network accessline 144
- [Hands design](https://developers.meta.com/horizon/design/hands) · [Best Practices](https://developers.meta.com/horizon/design/hands-best-practices) · [Limitations & Mitigations](https://developers.meta.com/horizon/design/hands-limitation - Network accessline 145
- [Input mappings](https://developers.meta.com/horizon/design/interactions-input-mappings) · [Multimodality](https://developers.meta.com/horizon/design/interactions-multimodality) · [Comfort](https://developers.meta.com/horizon/design/comfo
skills/hz-unity-meta-interaction-sdk/references/installation.md
- Network accessline 43
Note the form of the existing entries. A `file:` or `https://` value means the project - Network accessline 97
| Local tarball | `file:/abs/path/com.meta.xr.sdk.interaction.ovr-<version>.tgz` | | Local folder | `file:../RelativePath` | | Git URL | `https://github.com/org/repo.git#tag` | - Network accessline 99
| Git URL | `https://github.com/org/repo.git#tag` | - Network accessline 193
Deliberately not listed here. Device support and the Unity version floor change with every release, and a stale list in a skill is worse than no list. Fetch [Interaction SDK Packages and Requirements](https://developers.meta.com/horizon/doc - Network accessline 194
release, and a stale list in a skill is worse than no list. Fetch [Interaction SDK Packages and Requirements](https://developers.meta.com/horizon/documentation/unity/unity-isdk-packages-and-requirements) and read the current values. - Network accessline 195
[Interaction SDK Packages and Requirements](https://developers.meta.com/horizon/documentation/unity/unity-isdk-packages-and-requirements)
skills/hz-unity-meta-interaction-sdk/references/interaction-model.md
- Network accessline 3
Official background: [Interaction Model Overview](https://developers.meta.com/horizon/documentation/unity/unity-isdk-interaction-model-overview) - Network accessline 4
[Interaction Model Overview](https://developers.meta.com/horizon/documentation/unity/unity-isdk-interaction-model-overview) - Network accessline 5
· [Interactors](https://developers.meta.com/horizon/documentation/unity/unity-isdk-interactor) - Network accessline 6
· [Input Data Overview](https://developers.meta.com/horizon/documentation/unity/unity-isdk-input-processing) - Network accessline 7
· [The Interaction Rig](https://developers.meta.com/horizon/documentation/unity/unity-isdk-cameraless-rig) - Network accessline 78
Per [Comprehensive Interaction Rig](https://developers.meta.com/horizon/documentation/unity/unity-isdk-cameraless-rig),
skills/hz-unity-meta-interaction-sdk/references/ovr-quick-actions-api.md
- Network accessline 36
Official page: [OVR Interaction Rig Quick Action](https://developers.meta.com/horizon/documentation/unity/unity-isdk-ovr-interaction-rig-quick-action) - Network accessline 37
· walkthrough: [Create the Comprehensive Interaction Rig](https://developers.meta.com/horizon/documentation/unity/unity-isdk-add-comprehensive-interaction-rig) - Network accessline 46
**Smooth Locomotion is on by default and the API gives you no way to opt out at creation time.** Per [Comprehensive Interaction Rig](https://developers.meta.com/horizon/documentation/unity/unity-isdk-cameraless-rig): - Network accessline 47
Per [Comprehensive Interaction Rig](https://developers.meta.com/horizon/documentation/unity/unity-isdk-cameraless-rig):
skills/hz-unity-meta-interaction-sdk/references/quick-actions-api.md
- Network accessline 110
Other providers exist (e.g. `AutoMoveTowardsTargetProvider`, which completes the pull even if selection is interrupted); swap the component after creation, or implement `IMovementProvider`. See [Movement Providers](https://developers.meta.c - Network accessline 111
selection is interrupted); swap the component after creation, or implement `IMovementProvider`. See [Movement Providers](https://developers.meta.com/horizon/documentation/unity/unity-isdk-movement-providers) and [Distance Hand Grab Interact - Network accessline 112
[Movement Providers](https://developers.meta.com/horizon/documentation/unity/unity-isdk-movement-providers) - Network accessline 113
and [Distance Hand Grab Interactions](https://developers.meta.com/horizon/documentation/unity/unity-isdk-distance-hand-grab-interaction). - Network accessline 140
Calls create **Optional Components** as well as Required ones (wizard terms - see [Add Interactions with Quick Actions](https://developers.meta.com/horizon/documentation/unity/unity-isdk-quick-actions)). - Network accessline 141
[Add Interactions with Quick Actions](https://developers.meta.com/horizon/documentation/unity/unity-isdk-quick-actions)). - Network accessline 153
Per-action Meta doc pages are indexed in [documentation.md](documentation.md#quick-actions--the-primary-reference). Grab not behaving? [Grab Interaction Troubleshooting](https://developers.meta.com/horizon/documentation/unity/unity-isdk-han - Network accessline 155
[Grab Interaction Troubleshooting](https://developers.meta.com/horizon/documentation/unity/unity-isdk-hand-grab-troubleshooting).
skills/hz-unity-meta-interaction-sdk/references/verification.md
- Network accessline 103
For grabs that hover but never select, Meta has a dedicated page: [Grab Interaction Troubleshooting](https://developers.meta.com/horizon/documentation/unity/unity-isdk-hand-grab-troubleshooting). - Network accessline 104
[Grab Interaction Troubleshooting](https://developers.meta.com/horizon/documentation/unity/unity-isdk-hand-grab-troubleshooting).
skills/hz-unity-meta-mixed-reality-utility-kit/SKILL.md
- Network accessline 424
- [MR Utility Kit Overview](https://developers.meta.com/horizon/documentation/unity/unity-mr-utility-kit-overview) - Network accessline 425
- [MRUK API Reference](https://developers.meta.com/horizon/reference/mruk/latest/) - Network accessline 426
- [GitHub Samples](https://github.com/oculus-samples/Unity-MRUtilityKitSample) (12 sample scenes, moved from package since v76) - Network accessline 427
- [Scene API Overview](https://developers.meta.com/horizon/documentation/unity/unity-scene-overview)
skills/hz-unity-meta-mixed-reality-utility-kit/references/passthrough-relighting.md
- Network accessline 179
- SDK source: `Library/PackageCache/com.meta.xr.mrutilitykit@*/Core/Scripts/EffectMesh.cs` - Meta sample: `Assets/MRUKSamples/PassthroughRelighting/PassthroughRelighting.unity` (Unity-MRUtilityKitSample repo on GitHub) - Public docs (via `m - Network accessline 180
- Meta sample: `Assets/MRUKSamples/PassthroughRelighting/PassthroughRelighting.unity` (Unity-MRUtilityKitSample repo on GitHub) - Public docs (via `metavr docs fetch "documentation/unity/unity-passthrough-relighting.md"`): `https://develope - Network accessline 181
- Public docs (via `metavr docs fetch "documentation/unity/unity-passthrough-relighting.md"`): `https://developers.meta.com/horizon/llmstxt/documentation/unity/unity-passthrough-relighting.md` - Network accessline 182
- Sample overview: `https://developers.meta.com/horizon/llmstxt/documentation/unity/unity-sample-mruk-passthrough-relighting.md`
skills/hz-unity-meta-mixed-reality-utility-kit/references/scene-navigation.md
skills/hz-unity-passthrough-camera-access/SKILL.md
- Network accessline 9
Building on top of the [Android Camera2 API](https://developer.android.com/media/camera/camera2), - Network accessline 11
Quest 3 and Quest 3S for the purpose of supporting Computer Vision and Machine Learning. This API is distinct from the [Media Projection API](https://developers.meta.com/horizon/documentation/native/native-media-projection/), - Network accessline 12
Learning. This API is distinct from the [Media Projection API](https://developers.meta.com/horizon/documentation/native/native-media-projection/), which supports casting from the user's POV (including the UI) and should be used - Network accessline 13
[Media Projection API](https://developers.meta.com/horizon/documentation/native/native-media-projection/), - Network accessline 50
Camera Access on Meta VR devices is implemented on top of [Android's Camera2 API](https://developer.android.com/reference/android/hardware/camera2/package-summary) - Network accessline 51
[Android's Camera2 API](https://developer.android.com/reference/android/hardware/camera2/package-summary)
skills/hz-unity-platform-sdk/SKILL.md
- Network accessline 22
- **Setup guide**: https://developers.meta.com/horizon/documentation/unity/ps-platform-intro/
skills/hz-unity-platform-sdk/references/abuse-report.md
- Network accessline 3
- **Unity Package**: com.meta.xr.sdk.platform - **Documentation**: https://developer.oculus.com/documentation/unity/ps-abuse-reporting/ - Network accessline 4
- **Documentation**: https://developer.oculus.com/documentation/unity/ps-abuse-reporting/ - Network accessline 20
1. **Register your app** at [developers.meta.com/horizon/manage](https://developers.meta.com/horizon/manage/) - Network accessline 193
- [Meta VR Abuse Report Documentation (Unity)](https://developer.oculus.com/documentation/unity/ps-abuse-reporting/) - Network accessline 194
- [Virtual Reality Checks (VRC) -- Quest](https://developers.meta.com/horizon/resources/publish-quest-req/) - Network accessline 195
- [Meta Horizon Developer Dashboard](https://developers.meta.com/horizon/manage/)
skills/hz-unity-platform-sdk/references/achievements.md
skills/hz-unity-platform-sdk/references/application-lifecycle.md
- Network accessline 3
- **Unity Package**: com.meta.xr.sdk.platform - **Documentation**: https://developers.meta.com/horizon/documentation/unity/ps-app-to-app-travel/ - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/unity/ps-app-to-app-travel/ - Network accessline 19
1. **Register your app** at [developers.meta.com/horizon/manage](https://developers.meta.com/horizon/manage/) - Network accessline 264
- [Meta VR App-to-App Travel & Deeplinks (Unity)](https://developers.meta.com/horizon/documentation/unity/ps-app-to-app-travel/) - Network accessline 265
- [Destinations Overview](https://developers.meta.com/horizon/documentation/unity/ps-destinations-overview/) - Network accessline 266
- [Meta Horizon Developer Dashboard](https://developers.meta.com/horizon/manage/)
skills/hz-unity-platform-sdk/references/application.md
- Network accessline 3
- **Unity Package**: com.meta.xr.sdk.platform - **Documentation**: https://developer.oculus.com/documentation/unity/ps-application/ - Network accessline 4
- **Documentation**: https://developer.oculus.com/documentation/unity/ps-application/ - Network accessline 279
- [Meta VR Application Documentation (Unity)](https://developer.oculus.com/documentation/unity/ps-application/) - Network accessline 280
- [App-to-App Travel](https://developers.meta.com/horizon/documentation/unity/ps-app-to-app-travel/) - Network accessline 281
- [Meta Horizon Developer Dashboard](https://developers.meta.com/horizon/manage/)
skills/hz-unity-platform-sdk/references/asset-file.md
- Network accessline 3
- **Unity Package**: com.meta.xr.sdk.platform - **Documentation**: https://developers.meta.com/horizon/documentation/unity/ps-assets/ - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/unity/ps-assets/ - Network accessline 30
1. **Register your app** at [developers.meta.com/horizon/manage](https://developers.meta.com/horizon/manage/) - Network accessline 338
- [Meta VR Asset Files Documentation (Unity)](https://developers.meta.com/horizon/documentation/unity/ps-assets/) - Network accessline 339
- [Meta Horizon Developer Dashboard](https://developers.meta.com/horizon/manage/)
skills/hz-unity-platform-sdk/references/challenges.md
skills/hz-unity-platform-sdk/references/common-setup.md
- Network accessline 9
- **UPM Package**: `com.meta.xr.sdk.platform` - **Setup documentation**: https://developers.meta.com/horizon/documentation/unity/ps-platform-intro/ - Network accessline 10
- **Setup documentation**: https://developers.meta.com/horizon/documentation/unity/ps-platform-intro/ - Network accessline 250
- [Platform SDK Overview (Unity)](https://developers.meta.com/horizon/documentation/unity/ps-platform-intro/) - Network accessline 251
- [Meta Horizon Developer Dashboard](https://developers.meta.com/horizon/manage/) - Network accessline 252
- [Data Use Checkup (DUC)](https://developers.meta.com/horizon/resources/publish-data-use/) - Network accessline 253
- [Virtual Reality Checks (VRC)](https://developers.meta.com/horizon/resources/publish-quest-req/)
skills/hz-unity-platform-sdk/references/consent.md
- Network accessline 3
- **Unity Package**: `com.meta.xr.sdk.platform` - **Documentation**: https://developer.oculus.com/documentation/unity/ps-consent-management/ - Network accessline 4
- **Documentation**: https://developer.oculus.com/documentation/unity/ps-consent-management/ - Network accessline 236
- [Meta VR Consent Documentation (Unity)](https://developer.oculus.com/documentation/unity/ps-consent-management/) - Network accessline 237
- [Meta Horizon Developer Dashboard](https://developers.meta.com/horizon/manage/) - Network accessline 238
- [Platform SDK Overview](https://developers.meta.com/horizon/documentation/unity/ps-platform-intro/)
skills/hz-unity-platform-sdk/references/device-application-integrity.md
- Network accessline 3
- **Unity Package**: `com.meta.xr.sdk.platform` - **Documentation**: https://developers.meta.com/horizon/documentation/unity/ps-attestation-api/ - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/unity/ps-attestation-api/ - Network accessline 71
> The exact backend verification details (Meta's public-key endpoint, the full claim set) are documented at [developers.meta.com/horizon/documentation/unity/ps-attestation-api](https://developers.meta.com/horizon/documentation/unity/ps-atte - Network accessline 107
{ [SerializeField] private string appId = "YOUR_APP_ID"; [SerializeField] private string backendBaseUrl = "https://your-backend.example.com"; - Network accessline 109
[SerializeField] private string backendBaseUrl = "https://your-backend.example.com"; - Network accessline 182
- [Meta VR Attestation API Documentation (Unity)](https://developers.meta.com/horizon/documentation/unity/ps-attestation-api/) - Network accessline 183
- [Meta Horizon Developer Dashboard](https://developers.meta.com/horizon/manage/) - Network accessline 184
- [Platform SDK Overview](https://developers.meta.com/horizon/documentation/unity/ps-platform-intro/)
skills/hz-unity-platform-sdk/references/entitlements.md
- Network accessline 3
- **Unity Package**: com.meta.xr.sdk.platform - **Documentation**: https://developers.meta.com/horizon/documentation/unity/ps-entitlement-check/ - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/unity/ps-entitlement-check/ - Network accessline 261
- **Store builds**: The check runs against the user's purchase records. Cached, so works offline. - **Sample tester**: `samples/unity/Baremetal/Assets/SamplesInternal/entitlements/EntitlementsTester.cs` - [Virtual Reality Checks (VRC)](http - Network accessline 263
- [Virtual Reality Checks (VRC)](https://developers.meta.com/horizon/resources/publish-quest-req/)
skills/hz-unity-platform-sdk/references/group-presence.md
- Network accessline 3
- **Unity Package**: com.meta.xr.sdk.platform - **Documentation**: https://developers.meta.com/horizon/documentation/unity/ps-group-presence-overview/ - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/unity/ps-group-presence-overview/ - Network accessline 38
1. **Register your app** at [developers.meta.com/horizon/manage](https://developers.meta.com/horizon/manage/) - Network accessline 370
- [Meta VR Group Presence Documentation (Unity)](https://developers.meta.com/horizon/documentation/unity/ps-group-presence-overview/) - Network accessline 371
- [Destinations Overview](https://developers.meta.com/horizon/documentation/unity/ps-destinations-overview/) - Network accessline 372
- [Invokable Error Dialogs](https://developers.meta.com/horizon/documentation/unity/ps-error-dialogs/) - Network accessline 373
- [Meta Horizon Developer Dashboard](https://developers.meta.com/horizon/manage/)
skills/hz-unity-platform-sdk/references/iap.md
skills/hz-unity-platform-sdk/references/language-pack.md
- Network accessline 3
- **Unity Package**: `com.meta.xr.sdk.platform` - **Documentation**: https://developers.meta.com/horizon/documentation/unity/ps-language-packs/ - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/unity/ps-language-packs/ - Network accessline 234
- [Meta VR Language Packs Documentation (Unity)](https://developers.meta.com/horizon/documentation/unity/ps-language-packs/) - Network accessline 235
- [Meta Horizon Developer Dashboard](https://developers.meta.com/horizon/manage/) - Network accessline 236
- [Platform SDK Overview](https://developers.meta.com/horizon/documentation/unity/ps-platform-intro/)
skills/hz-unity-platform-sdk/references/leaderboards.md
- Network accessline 3
- **Unity Package**: com.meta.xr.sdk.platform - **Documentation**: https://developers.meta.com/horizon/documentation/unity/ps-leaderboards/ - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/unity/ps-leaderboards/ - Network accessline 391
- **Use `LeaderboardFilterType.Friends`** for social leaderboards (bidirectional followers only). - **Sample tester**: `samples/unity/Baremetal/Assets/SamplesInternal/leaderboards/LeaderboardsTester.cs` - [Server-to-Server Leaderboard API]( - Network accessline 393
- [Server-to-Server Leaderboard API](https://developers.meta.com/horizon/documentation/unity/ps-leaderboards-s2s/)
skills/hz-unity-platform-sdk/references/notifications.md
- Network accessline 3
- **Unity Package**: com.meta.xr.sdk.platform - **Documentation**: https://developers.meta.com/horizon/documentation/unity/ps-user-notifications/ - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/unity/ps-user-notifications/ - Network accessline 60
config.SetMediaAttachmentUri("https://your-cdn.com/badge.png"); - Network accessline 245
await QuestNotifications.Toast("Saved", "Game saved successfully"); await QuestNotifications.Persistent("Daily Quest", "Defeat 10 enemies for a reward!", mediaUri: "https://cdn.example.com/quest.png"); - Network accessline 246
await QuestNotifications.Persistent("Daily Quest", "Defeat 10 enemies for a reward!", mediaUri: "https://cdn.example.com/quest.png"); - Network accessline 272
- [Meta VR Notifications Documentation (Unity)](https://developers.meta.com/horizon/documentation/unity/ps-user-notifications/) - Network accessline 273
- [Meta Horizon Developer Dashboard](https://developers.meta.com/horizon/manage/)
skills/hz-unity-platform-sdk/references/rate-and-review.md
- Network accessline 3
- **Unity Package**: `com.meta.xr.sdk.platform` - **Documentation**: https://developer.oculus.com/documentation/unity/ps-rate-and-review/ - Network accessline 4
- **Documentation**: https://developer.oculus.com/documentation/unity/ps-rate-and-review/ - Network accessline 175
- [Meta VR Rate and Review Documentation (Unity)](https://developer.oculus.com/documentation/unity/ps-rate-and-review/) - Network accessline 176
- [Meta Horizon Developer Dashboard](https://developers.meta.com/horizon/manage/) - Network accessline 177
- [Platform SDK Overview](https://developers.meta.com/horizon/documentation/unity/ps-platform-intro/)
skills/hz-unity-platform-sdk/references/rich-presence.md
- Network accessline 3
- **Unity Package**: `com.meta.xr.sdk.platform` - **Documentation**: https://developers.meta.com/horizon/documentation/unity/ps-group-presence-overview/ - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/unity/ps-group-presence-overview/ - Network accessline 182
- [Group Presence Documentation (recommended replacement)](https://developers.meta.com/horizon/documentation/unity/ps-group-presence-overview/) - Network accessline 183
- [Meta Horizon Developer Dashboard](https://developers.meta.com/horizon/manage/) - Network accessline 184
- [Platform SDK Overview](https://developers.meta.com/horizon/documentation/unity/ps-platform-intro/)
skills/hz-unity-platform-sdk/references/user-age-category.md
- Network accessline 3
- **Unity Package**: `com.meta.xr.sdk.platform` - **Documentation**: https://developers.meta.com/horizon/documentation/unity/ps-get-age-category-api/ - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/unity/ps-get-age-category-api/ - Network accessline 211
- [Meta VR User Age Category Documentation (Unity)](https://developers.meta.com/horizon/documentation/unity/ps-get-age-category-api/) - Network accessline 212
- [Meta Horizon Developer Dashboard](https://developers.meta.com/horizon/manage/) - Network accessline 213
- [Platform SDK Overview](https://developers.meta.com/horizon/documentation/unity/ps-platform-intro/)
skills/hz-unity-platform-sdk/references/users.md
- Network accessline 3
- **Unity Package**: com.meta.xr.sdk.platform - **Documentation**: https://developers.meta.com/horizon/documentation/unity/ps-presence/#user-and-friends - Network accessline 4
- **Documentation**: https://developers.meta.com/horizon/documentation/unity/ps-presence/#user-and-friends - Network accessline 21
1. **Complete Data Use Checkup (DUC)** for the user data your app reads. A missing grant fails in two ways, neither obvious. Without `user_id`/`user_profile`, calls **succeed and return wrong data**: IDs come back as the string `"0"` and pr - Network accessline 116
[Credential-related source omitted] - Network accessline 117
[Credential-related source omitted] - Network accessline 118
[Credential-related source omitted] - Access to secretsline 118
[Credential-related source omitted] - Network accessline 289
[Credential-related source omitted] - Network accessline 290
[Credential-related source omitted] - Access to secretsline 290
[Credential-related source omitted] - Network accessline 308
- **Treat access tokens and user proofs as ephemeral credentials**: Never log them. - **Sample tester**: `samples/unity/Baremetal/Assets/SamplesInternal/users/UsersTester.cs` - [Data Use Checkup (DUC)](https://developers.meta.com/horizon/re - Network accessline 310
- [Data Use Checkup (DUC)](https://developers.meta.com/horizon/resources/publish-data-use/)
skills/hz-unity-sdk-upgrade/references/mruk-migration.md
- Network accessline 6
- [Migrating from OVRSceneManager to MRUK](https://developers.meta.com/horizon/documentation/unity/unity-scene-migrate-mruk)
skills/hz-unity-sdk-upgrade/references/unity-upgrade-runbook.md
- Network accessline 57
| Axis | Search with `metavr docs search --category UNITY --format json` | Starting documentation | Cross-check | |---|---|---|---| | Unity editor and Unity 6 | `Meta XR Unity SDK <target> supported Unity version Unity 6` and `Unity 6 upgra - Network accessline 58
|---|---|---|---| | Unity editor and Unity 6 | `Meta XR Unity SDK <target> supported Unity version Unity 6` and `Unity 6 upgrade Meta Quest <source editor>` | [Project setup](https://developers.meta.com/horizon/documentation/unity/unity-pro - Network accessline 59
| Unity editor and Unity 6 | `Meta XR Unity SDK <target> supported Unity version Unity 6` and `Unity 6 upgrade Meta Quest <source editor>` | [Project setup](https://developers.meta.com/horizon/documentation/unity/unity-project-setup/) and [ - Network accessline 60
| Oculus XR Plugin to Unity OpenXR Plugin | `Oculus XR Plugin Unity OpenXR Plugin migration Meta Quest <target>` and `<affected feature> Unity OpenXR Meta Quest Support` | [XR Plugin Management for Meta Quest](https://developers.meta.com/ho - Network accessline 61
| Interaction SDK OpenXR hands | `Interaction SDK OpenXR hand skeleton upgrade <target>`, `Interaction SDK Unity XR Hands migration`, and any affected joint/type name | [OpenXR Hand Skeleton in Interaction SDK](https://developers.meta.com/h - Network accessline 62
| Scene API to MRUK | `OVRSceneManager MRUK migration <target>` and each affected Scene API symbol | [Migrating from OVRSceneManager to MRUK](https://developers.meta.com/horizon/documentation/unity/unity-scene-migrate-mruk) and the [MRUK mi
skills/hz-vr-debug/SKILL.md
- Broad permissionsline 1
Bash(metavr:*), Bash(hzdb:*), Bash(npx:*) - Broad permissionsline 1
Bash(metavr:*), Bash(hzdb:*), Bash(npx:*) - Dangerous shell operationline 111
| `metavr files rm /sdcard/path/file` | Delete a file on the device | - Dangerous shell operationline 111
| `metavr files rm /sdcard/path/file` | Delete a file on the device |
skills/hz-xr-simulator-control/SKILL.md
- Network accessline 149
- [`references/commands.md`](references/commands.md) — tier per group, the irregular corners of the surface, what the output means - GitHub: `https://github.com/meta-quest/agentic-tools/tree/main/skills/hz-xr-simulator-control` - Network accessline 150
- GitHub: `https://github.com/meta-quest/agentic-tools/tree/main/skills/hz-xr-simulator-control`
skills/hz-xr-simulator-install-and-configure/references/installation.md
- Network accessline 48
1. Visit the Meta VR developer downloads page at `https://developer.meta.com/downloads/`. 2. Find the XR Simulator package under the Tools section. 3. Download the installer for your platform.
skills/metavr-cli/SKILL.md
- Broad permissionsline 1
Bash(metavr:*), Bash(npx:*) - Broad permissionsline 1
Bash(metavr:*), Bash(npx:*) - Network accessline 40
# macOS and Linux curl -fsSL https://developers.meta.com/horizon/install-cli/ | sh - Network accessline 40
# macOS and Linux curl -fsSL https://developers.meta.com/horizon/install-cli/ | sh - Dangerous shell operationline 41
curl -fsSL https://developers.meta.com/horizon/install-cli/ | sh - Dangerous shell operationline 41
curl -fsSL https://developers.meta.com/horizon/install-cli/ | sh - Network accessline 41
curl -fsSL https://developers.meta.com/horizon/install-cli/ | sh - Network accessline 41
curl -fsSL https://developers.meta.com/horizon/install-cli/ | sh - Network accessline 45
# Windows (PowerShell) iwr -useb https://developers.meta.com/horizon/install-cli/windows/ | iex - Network accessline 45
# Windows (PowerShell) iwr -useb https://developers.meta.com/horizon/install-cli/windows/ | iex - Dangerous shell operationline 46
iwr -useb https://developers.meta.com/horizon/install-cli/windows/ | iex - Dangerous shell operationline 46
iwr -useb https://developers.meta.com/horizon/install-cli/windows/ | iex - Network accessline 46
iwr -useb https://developers.meta.com/horizon/install-cli/windows/ | iex - Network accessline 46
iwr -useb https://developers.meta.com/horizon/install-cli/windows/ | iex - Network accessline 158
# 1. Verify the current docs before coding against an API or workflow metavr docs search "spatial sdk panel" metavr docs fetch https://developers.meta.com/horizon/documentation/... - Network accessline 158
# 1. Verify the current docs before coding against an API or workflow metavr docs search "spatial sdk panel" metavr docs fetch https://developers.meta.com/horizon/documentation/... - Network accessline 160
metavr docs fetch https://developers.meta.com/horizon/documentation/... - Network accessline 160
metavr docs fetch https://developers.meta.com/horizon/documentation/...
skills/metavr-cli/references/metavr-agent-workflows.md
- Network accessline 44
# 2. Fetch the exact page before acting on it metavr docs fetch https://developers.meta.com/horizon/documentation/... - Network accessline 45
metavr docs fetch https://developers.meta.com/horizon/documentation/... - Network accessline 59
# Search docs for the current platform detail metavr docs search "spatial sdk panel registration" metavr docs fetch https://developers.meta.com/horizon/documentation/... - Network accessline 61
metavr docs fetch https://developers.meta.com/horizon/documentation/...
skills/metavr-cli/references/metavr-docs-search.md
- Network accessline 62
Results: 1. Scene Understanding Overview https://developers.meta.com/horizon/documentation/unity/unity-scene-overview - Network accessline 63
1. Scene Understanding Overview https://developers.meta.com/horizon/documentation/unity/unity-scene-overview 2. Scene API Reference - Network accessline 64
https://developers.meta.com/horizon/documentation/unity/unity-scene-overview - Network accessline 65
2. Scene API Reference https://developers.meta.com/horizon/documentation/native/android/mobile-scene-api-ref 3. Spatial Anchors Overview - Network accessline 66
https://developers.meta.com/horizon/documentation/native/android/mobile-scene-api-ref - Network accessline 68
https://developers.meta.com/horizon/documentation/unreal/unreal-spatial-anchors - Network accessline 76
# Fetch by full URL metavr docs fetch https://developers.meta.com/horizon/documentation/unity/unity-scene-overview - Network accessline 77
metavr docs fetch https://developers.meta.com/horizon/documentation/unity/unity-scene-overview - Network accessline 94
# 2. Fetch the page you need metavr docs fetch https://developers.meta.com/horizon/documentation/unity/unity-ovrinput - Network accessline 95
metavr docs fetch https://developers.meta.com/horizon/documentation/unity/unity-ovrinput
skills/portal/SKILL.md
- Broad permissionsline 1
Read, Bash(metavr:*), Bash(npx:*), Bash(android:*), Bash(./gradlew:*) - Broad permissionsline 1
Read, Bash(metavr:*), Bash(npx:*), Bash(android:*), Bash(./gradlew:*) - Network accessline 43
**Toolchain first — don't hand-hunt for it.** Building needs two host-machine pieces: a **JDK** (Gradle/AGP run on it) and the **Android SDK**. Install the SDK with Google's [`android` CLI](https://developer.android.com/tools) — don't go sc - Network accessline 43
**Toolchain first — don't hand-hunt for it.** Building needs two host-machine pieces: a **JDK** (Gradle/AGP run on it) and the **Android SDK**. Install the SDK with Google's [`android` CLI](https://developer.android.com/tools) — don't go sc - Network accessline 53
# 2) Install Google's `android` CLI (it manages the SDK), then install the SDK packages # macOS: brew tap android/tap && brew install android-cli # Any OS: curl -fsSL https://dl.google.com/android/cli/latest/darwin_arm64/install.sh - Network accessline 53
# 2) Install Google's `android` CLI (it manages the SDK), then install the SDK packages # macOS: brew tap android/tap && brew install android-cli # Any OS: curl -fsSL https://dl.google.com/android/cli/latest/darwin_arm64/install.sh - Network accessline 54
# macOS: brew tap android/tap && brew install android-cli # Any OS: curl -fsSL https://dl.google.com/android/cli/latest/darwin_arm64/install.sh | bash (see § 1 for other OSes) # Windows: winget install --id Google.AndroidCLI - Network accessline 54
# macOS: brew tap android/tap && brew install android-cli # Any OS: curl -fsSL https://dl.google.com/android/cli/latest/darwin_arm64/install.sh | bash (see § 1 for other OSes) # Windows: winget install --id Google.AndroidCLI - Dangerous shell operationline 55
# Any OS: curl -fsSL https://dl.google.com/android/cli/latest/darwin_arm64/install.sh | bash (see § 1 for other OSes) - Dangerous shell operationline 55
# Any OS: curl -fsSL https://dl.google.com/android/cli/latest/darwin_arm64/install.sh | bash (see § 1 for other OSes) - Network accessline 55
# Any OS: curl -fsSL https://dl.google.com/android/cli/latest/darwin_arm64/install.sh | bash (see § 1 for other OSes) - Network accessline 55
# Any OS: curl -fsSL https://dl.google.com/android/cli/latest/darwin_arm64/install.sh | bash (see § 1 for other OSes) - Network accessline 62
# 3) Install metavr (one-time, host machine — standalone binary, no Node.js needed) # See resources/metavr.md for all install options (incl. npx without install) and MCP-into-your-editor setup. curl -fsSL https://developers.meta.com/hori - Network accessline 62
# 3) Install metavr (one-time, host machine — standalone binary, no Node.js needed) # See resources/metavr.md for all install options (incl. npx without install) and MCP-into-your-editor setup. curl -fsSL https://developers.meta.com/hori - Network accessline 63
# See resources/metavr.md for all install options (incl. npx without install) and MCP-into-your-editor setup. curl -fsSL https://developers.meta.com/horizon/install-cli/ | sh # macOS/Linux # Windows (PowerShell): iwr -useb https://deve - Network accessline 63
# See resources/metavr.md for all install options (incl. npx without install) and MCP-into-your-editor setup. curl -fsSL https://developers.meta.com/horizon/install-cli/ | sh # macOS/Linux # Windows (PowerShell): iwr -useb https://deve - Dangerous shell operationline 64
curl -fsSL https://developers.meta.com/horizon/install-cli/ | sh # macOS/Linux - Dangerous shell operationline 64
curl -fsSL https://developers.meta.com/horizon/install-cli/ | sh # macOS/Linux - Network accessline 64
curl -fsSL https://developers.meta.com/horizon/install-cli/ | sh # macOS/Linux - Network accessline 64
curl -fsSL https://developers.meta.com/horizon/install-cli/ | sh # macOS/Linux - Dangerous shell operationline 65
# Windows (PowerShell): iwr -useb https://developers.meta.com/horizon/install-cli/windows/ | iex - Dangerous shell operationline 65
# Windows (PowerShell): iwr -useb https://developers.meta.com/horizon/install-cli/windows/ | iex - Network accessline 65
# Windows (PowerShell): iwr -useb https://developers.meta.com/horizon/install-cli/windows/ | iex - Network accessline 65
# Windows (PowerShell): iwr -useb https://developers.meta.com/horizon/install-cli/windows/ | iex
skills/portal/resources/android-sdk-setup.md
- Network accessline 28
> **If install fails or is partial, the most reliable workarounds (in order of preference):** > > 1. **Use the legacy `sdkmanager` from `cmdline-tools`.** Download "Command line tools only" from <https://developer.android.com/studio> → unzi - Network accessline 29
> > 1. **Use the legacy `sdkmanager` from `cmdline-tools`.** Download "Command line tools only" from <https://developer.android.com/studio> → unzip to `$ANDROID_HOME/cmdline-tools/latest/` → use `sdkmanager "ndk;<v>" "cmake;<v>"`. Same pack - Network accessline 30
> 1. **Use the legacy `sdkmanager` from `cmdline-tools`.** Download "Command line tools only" from <https://developer.android.com/studio> → unzip to `$ANDROID_HOME/cmdline-tools/latest/` → use `sdkmanager "ndk;<v>" "cmake;<v>"`. Same packag - Network accessline 31
> 2. **Direct download** from Google's CDN: `https://dl.google.com/android/repository/android-ndk-r<N>-darwin.zip` (and matching platform names for Linux / Windows). Unzip into `$ANDROID_HOME/ndk/<full-version>/`. - Network accessline 33
> 4. **Use Android Studio's SDK Manager GUI** if you have Android Studio installed — same backend as `sdkmanager` but better error surfacing. > > **Issue trackers to search:** <https://issuetracker.google.com/issues?q=android%20cli%20sdk%20 - Network accessline 34
> > **Issue trackers to search:** <https://issuetracker.google.com/issues?q=android%20cli%20sdk%20install%20ndk> and reddit's `r/androiddev`. > - Network accessline 35
> **Issue trackers to search:** <https://issuetracker.google.com/issues?q=android%20cli%20sdk%20install%20ndk> and reddit's `r/androiddev`. - Dangerous shell operationline 92
sudo apt update && sudo apt install -y openjdk-17-jdk - Dangerous shell operationline 96
sudo dnf install -y java-17-openjdk-devel - Dangerous shell operationline 99
sudo pacman -S jdk17-openjdk - Network accessline 153
This is Google's `android` CLI (<https://developer.android.com/tools>) — the supported way to download and manage the Android SDK from the command line. **It manages the SDK, not a JDK** — install a JDK separately (§ 0). Always use this CLI - Network accessline 162
Otherwise use the per-user curl installer (no admin required). Each OS also ships a global installer — `install_root.sh` (macOS/Linux) or `install_admin.cmd` (Windows) — that installs for all users but needs sudo/Admin; prefer the per-user - Dangerous shell operationline 167
curl -fsSL https://dl.google.com/android/cli/latest/darwin_arm64/install.sh | bash - Network accessline 167
curl -fsSL https://dl.google.com/android/cli/latest/darwin_arm64/install.sh | bash - Dangerous shell operationline 173
curl -fsSL https://dl.google.com/android/cli/latest/darwin_x86_64/install.sh | bash - Network accessline 173
curl -fsSL https://dl.google.com/android/cli/latest/darwin_x86_64/install.sh | bash - Dangerous shell operationline 179
curl -fsSL https://dl.google.com/android/cli/latest/linux_x86_64/install.sh | bash - Network accessline 179
curl -fsSL https://dl.google.com/android/cli/latest/linux_x86_64/install.sh | bash - Network accessline 185
curl.exe -fsSL https://dl.google.com/android/cli/latest/windows_x86_64/install.cmd -o "$env:TEMP\android-cli-install.cmd" - Dangerous shell operationline 257
sudo apt install -y ninja-build # Ubuntu/Debian - Network accessline 298
if ! command -v android >/dev/null 2>&1; then case "$(uname -s)-$(uname -m)" in Darwin-arm64) curl -fsSL https://dl.google.com/android/cli/latest/darwin_arm64/install.sh | bash ;; - Network accessline 299
case "$(uname -s)-$(uname -m)" in Darwin-arm64) curl -fsSL https://dl.google.com/android/cli/latest/darwin_arm64/install.sh | bash ;; Darwin-x86_64) curl -fsSL https://dl.google.com/android/cli/latest/darwin_x86_64/install.sh | b - Dangerous shell operationline 300
Darwin-arm64) curl -fsSL https://dl.google.com/android/cli/latest/darwin_arm64/install.sh | bash ;; - Network accessline 300
Darwin-arm64) curl -fsSL https://dl.google.com/android/cli/latest/darwin_arm64/install.sh | bash ;; - Dangerous shell operationline 301
Darwin-x86_64) curl -fsSL https://dl.google.com/android/cli/latest/darwin_x86_64/install.sh | bash ;; - Network accessline 301
Darwin-x86_64) curl -fsSL https://dl.google.com/android/cli/latest/darwin_x86_64/install.sh | bash ;; - Dangerous shell operationline 302
Linux-x86_64) curl -fsSL https://dl.google.com/android/cli/latest/linux_x86_64/install.sh | bash ;; - Network accessline 302
Linux-x86_64) curl -fsSL https://dl.google.com/android/cli/latest/linux_x86_64/install.sh | bash ;; - Network accessline 311
echo echo "Next steps:" echo " 1. Install metavr (https://github.com/meta-quest/agentic-tools)" - Network accessline 312
echo "Next steps:" echo " 1. Install metavr (https://github.com/meta-quest/agentic-tools)" echo " 2. Enable ADB on your Portal: Settings → Debug → ADB Enabled" - Network accessline 313
echo " 1. Install metavr (https://github.com/meta-quest/agentic-tools)"
skills/portal/resources/app-requirements.md
- Network accessline 245
For the broader Horizon Android app design system, see <https://developers.meta.com/horizon/documentation/android-apps/design-requirements>. Apply the touch-and-tabletop sizing notes above on top of that baseline.
skills/portal/resources/compose-theme.md
- Network accessline 209
- `design-guidelines.md` — prose principles: typography rationale, spacing, color tokens, accessibility (WCAG / TalkBack), TV / D-pad, Smart Camera UX, viewing-distance reasoning - `app-requirements.md` — manifest, icons, no-GMS constraints - Network accessline 211
- General Horizon Android app design requirements: <https://developers.meta.com/horizon/documentation/android-apps/design-requirements>
skills/portal/resources/debugging.md
skills/portal/resources/design-guidelines.md
- Network accessline 3
A distillation of the design system that shipped on Portal devices: typography, spacing, color, accessibility, and form-factor-specific layout rules. Apply on top of the general [Horizon Android app design requirements](https://developers.m - Network accessline 110
Don't ship text below AA against its background. Use <https://webaim.org/resources/contrastchecker/> to check. - Network accessline 220
- General Horizon Android app design requirements: <https://developers.meta.com/horizon/documentation/android-apps/design-requirements> - Network accessline 221
- WCAG 2.1 contrast checker: <https://webaim.org/resources/contrastchecker/> - Network accessline 222
- Material Design large-screen guidelines (closest external analog for the form factor): <https://m3.material.io/foundations/layout/applying-layout/large>
skills/portal/resources/device-setup.md
- Network accessline 7
- A Portal device (any model: Portal, Portal+, Portal Mini, Portal Go, Portal TV) - A USB-C cable (must be data-capable, not charge-only) - A computer with [metavr](https://github.com/meta-quest/agentic-tools) installed - Network accessline 8
- A USB-C cable (must be data-capable, not charge-only) - A computer with [metavr](https://github.com/meta-quest/agentic-tools) installed - An Android SDK install (see `android-sdk-setup.md`) - Network accessline 9
- A computer with [metavr](https://github.com/meta-quest/agentic-tools) installed
skills/portal/resources/metavr.md
- Network accessline 3
[metavr (Meta VR CLI)](https://github.com/meta-quest/agentic-tools) is the CLI this skill uses in place of raw `adb`. It targets Meta VR and Horizon OS primarily, but its `metavr adb` passthrough works with any Android device that exposes A - Network accessline 30
# macOS and Linux curl -fsSL https://developers.meta.com/horizon/install-cli/ | sh - Dangerous shell operationline 31
curl -fsSL https://developers.meta.com/horizon/install-cli/ | sh - Network accessline 31
curl -fsSL https://developers.meta.com/horizon/install-cli/ | sh - Network accessline 35
# Windows (PowerShell) iwr -useb https://developers.meta.com/horizon/install-cli/windows/ | iex - Dangerous shell operationline 36
iwr -useb https://developers.meta.com/horizon/install-cli/windows/ | iex - Network accessline 36
iwr -useb https://developers.meta.com/horizon/install-cli/windows/ | iex - Dangerous shell operationline 152
metavr files rm /sdcard/captured.mp4 - Network accessline 165
For complete flag-level docs on every command, see the [metavr-cli skill](https://github.com/meta-quest/agentic-tools/tree/main/skills/metavr-cli) shipped in the same repo as this one, or:
skills/portal/resources/native-toolchain.md
- Network accessline 23
Download "Command line tools only" from <https://developer.android.com/studio> and unzip into `$ANDROID_HOME/cmdline-tools/latest/` so that `sdkmanager` is at `$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager`. Add that bin to your `PATH`. - Dangerous shell operationline 81
sudo apt update && sudo apt install -y cmake ninja-build - Dangerous shell operationline 84
sudo dnf install -y cmake ninja-build - Dangerous shell operationline 87
sudo pacman -S cmake ninja - Dangerous shell operationline 170
rm -rf "$ANDROID_HOME/ndk/29.0.14206865" - Dangerous shell operationline 171
rm -rf "$ANDROID_HOME/cmake" - Dangerous shell operationline 172
rm -rf "$ANDROID_HOME/.temp" - Dangerous shell operationline 173
rm -rf "$ANDROID_HOME/.downloadIntermediates" - Network accessline 189
cd "$ANDROID_HOME/ndk" curl -L -o ndk-r29.zip https://dl.google.com/android/repository/android-ndk-r29-darwin.zip # macOS - Network accessline 190
curl -L -o ndk-r29.zip https://dl.google.com/android/repository/android-ndk-r29-darwin.zip # macOS - Dangerous shell operationline 195
rm ndk-r29.zip
skills/portal/resources/porting-existing-apps.md
- Network accessline 40
If no no-GMS flavor exists, you have a harder job: identify GMS dependencies in `build.gradle.kts`, find non-GMS replacements, and stub out the code paths that use them. That's project-specific work, not skill-level — but the [No-GMS guide - Dangerous shell operationline 123
| `[CXX1416] Could not find Ninja on PATH or in SDK CMake bin folders` | The SDK-installed CMake doesn't bundle the Ninja build backend | Install Ninja: `brew install ninja` (macOS), `sudo apt install ninja-build` (Linux), or `winget instal - Access to secretsline 142
[Credential-related source omitted] - Access to secretsline 151
[Credential-related source omitted]
skills/portal/resources/sample-prompts.md
- Network accessline 38
Build a Zoom-like video chat client for my Portal that uses the Smart Camera in Meeting mode (wide framing) so the whole room is in frame. Use my custom signaling server at https://my-server/api. No Google sign-in — use a 6-digit - Network accessline 39
in Meeting mode (wide framing) so the whole room is in frame. Use my custom signaling server at https://my-server/api. No Google sign-in — use a 6-digit PIN entry instead. - Network accessline 40
signaling server at https://my-server/api. No Google sign-in — use a 6-digit
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 500 facts
- Network access in prose of the SKILL.mdhz-android-2d-porting/SKILL.md:142Low confidence
- Network access in prose of the SKILL.mdhz-android-2d-porting/SKILL.md:143Low confidence
- Network access in prose of the SKILL.mdhz-android-2d-porting/SKILL.md:144Low confidence
- Network access in code of documentationhz-android-2d-porting/references/compatibility-requirements.md:131Low confidence
- Network access in prose of documentationhz-android-2d-porting/references/compatibility-requirements.md:168Low confidence
- Network access in prose of documentationhz-android-2d-porting/references/compatibility-requirements.md:169Low confidence
- Network access in prose of documentationhz-android-2d-porting/references/compatibility-requirements.md:170Low confidence
- Network access in prose of documentationhz-android-2d-porting/references/compatibility-requirements.md:191Low confidence
- Network access in prose of documentationhz-android-2d-porting/references/compatibility-requirements.md:254Low confidence
- Network access in code of documentationhz-android-2d-porting/references/gradle-setup.md:51Low confidence
- Network access in code of documentationhz-android-2d-porting/references/gradle-setup.md:52Low confidence
- Network access in code of documentationhz-android-2d-porting/references/gradle-setup.md:64Low confidence
- Network access in prose of documentationhz-android-2d-porting/references/gradle-setup.md:122Low confidence
- Network access in prose of documentationhz-android-2d-porting/references/gradle-setup.md:127Low confidence
- Network access in prose of documentationhz-android-2d-porting/references/gradle-setup.md:178Low confidence
- Network access in code of documentationhz-iwsdk-webxr/references/ai-assisted-development.md:64Low confidence
- Network access in code of documentationhz-iwsdk-webxr/references/ai-assisted-development.md:65Low confidence
- Network access in code of documentationhz-iwsdk-webxr/references/desktop-load-profiling.md:42Low confidence
- Network access in code of documentationhz-iwsdk-webxr/references/desktop-load-profiling.md:43Low confidence
- Network access in code of documentationhz-iwsdk-webxr/references/desktop-load-profiling.md:44Low confidence
- Network access in prose of documentationhz-iwsdk-webxr/references/desktop-load-profiling.md:64Low confidence
- Network access in prose of documentationhz-metavrx-ui-set/references/integration.md:14Low confidence
- Network access in prose of documentationhz-metavrx-ui-set/references/integration.md:15Low confidence
- Broad permissions in the frontmatter of the SKILL.mdhz-new-project-creation/SKILL.md:1High confidence
- Broad permissions in the frontmatter of the SKILL.mdskills/hz-new-project-creation/SKILL.md:1High confidence
- Network access in prose of the SKILL.mdhz-new-project-creation/SKILL.md:27Low confidence
- Network access in prose of the SKILL.mdskills/hz-new-project-creation/SKILL.md:27Low confidence
- Network access in prose of the SKILL.mdhz-new-project-creation/SKILL.md:93Low confidence
- Network access in prose of the SKILL.mdskills/hz-new-project-creation/SKILL.md:93Low confidence
- Network access in prose of documentationhz-new-project-creation/references/android-project.md:11Low confidence
- Network access in prose of documentationhz-new-project-creation/references/android-project.md:12Low confidence
- Network access in prose of documentationhz-new-project-creation/references/spatial-sdk-project.md:16Low confidence
- Network access in prose of documentationhz-new-project-creation/references/spatial-sdk-project.md:17Low confidence
- Network access in prose of documentationhz-new-project-creation/references/spatial-sdk-project.md:18Low confidence
- Network access in code of documentationhz-new-project-creation/references/spatial-sdk-project.md:275Low confidence
- Network access in prose of documentationhz-new-project-creation/references/spatial-sdk-project.md:304Low confidence
- Network access in prose of documentationhz-new-project-creation/references/spatial-sdk-project.md:306Low confidence
- Network access in prose of documentationhz-new-project-creation/references/unreal-project.md:26Low confidence
- Network access in prose of documentationhz-new-project-creation/references/unreal-project.md:252Low confidence
- Network access in prose of documentationhz-new-project-creation/references/web-project.md:343Low confidence
- Network access in prose of documentationhz-new-project-creation/references/web-project.md:358Low confidence
- Network access in prose of documentationhz-new-project-creation/references/web-project.md:359Low confidence
- Network access in prose of documentationhz-new-project-creation/references/web-project.md:360Low confidence
- Broad permissions in the frontmatter of the SKILL.mdhz-perfetto-debug/SKILL.md:1High confidence
- Network access in prose of the SKILL.mdhz-platform-sdk/SKILL.md:25Low confidence
- Network access in prose of the SKILL.mdhz-platform-sdk/SKILL.md:26Low confidence
- Network access in prose of documentationhz-platform-sdk/references/abuse-report.md:3Low confidence
- Network access in prose of documentationhz-platform-sdk/references/abuse-report.md:4Low confidence
- Network access in prose of documentationhz-platform-sdk/references/achievements.md:3Low confidence
- Network access in prose of documentationhz-platform-sdk/references/achievements.md:4Low confidence
and 450 more
Only the first 500 facts are listed.
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/hz-android-2d-porting/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Native | Manifest gemini-extension.json | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/hz-android-2d-porting/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/hz-android-2d-porting/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.