Skip to content
Development
Skill

/hz-unity-meta-core-sdk

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

From plugin
meta-vr
24936 skills1 MCP

Claude Code

$ npx -y skills add meta-quest/agentic-tools --skill hz-unity-meta-core-sdk --agent claude-code

SKILL.md

hz-unity-meta-core-sdk.SKILL.md
name: hz-unity-meta-core-sdk
license: Apache-2.0
description: 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.

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.

unity status --format json          # look for state "ready"
unity command run_script --project-path <proj> --file AgentScripts/Setup.cs --entry Setup.Run --format json

Prefer `run_script` over `eval` — put the `.cs` outside `Assets/` (path resolves against the project root) so writing it triggers no import or domain reload, and shell quoting can't mangle C# literals.

SDK-specific gotchas:

  • **No type-discovery reflection needed.** `run_script` references every loaded assembly, so `OVRProjectSetup`, `OVRManifestPreprocessor` etc. compile directly; `using System.Reflection;` and `BindingFlags` work for the internal bits (`_principalRegistry`, `GetTasks`).
  • **Pass `silentMode: true`** to anything that may open an `EditorUtility.DisplayDialog` — a modal blocks the request until it times out.
  • **Async work lands after the script returns** (`FixAllAsync`, `Client.Add`) — verify in a separate follow-up `run_script`; never `Task.Wait()` on the main thread.
  • Scene edits: `MarkSceneDirty` + `SaveScene` (+ `AssetDatabase.SaveAssets()`), then read the value back.
  • Driving Unity **MCP** instead of the CLI? Its constraints break the above: [references/unity-mcp-fallback.md](references/unity-mcp-fallback.md).

Finding the SDK Source

The package `com.meta.xr.sdk.core` may be located in different places depending on the project setup:

  • `Library/PackageCache/com.meta.xr.sdk.core@<hash>/` (cached from registry)
  • `Packages/com.meta.xr.sdk.core/` (local package reference)
  • A custom on-disk path (embedded or local folder)

**Before searching for SDK source, first locate the package root** by searching for a known file by filename pattern:

**/com.meta.xr.sdk.core*/Scripts/OVRManager.cs

Then use the resolved parent path for all subsequent search operations.

CRITICAL: After Any OVRProjectConfig or OVRManager Feature Change

**Any time you modify `OVRProjectConfig` or OVRManager feature settings (hand tracking, passthrough, boundaryless, target devices, etc.), you MUST call `GenerateOrUpdateAndroidManifest()` and verify the result.** See [references/android-manifest.md](references/android-manifest.md) for the full workflow.

Quick Reference

| Component | Purpose | |---|---| | **OVRCameraRig** | Primary XR rig prefab replacing Unity's Main Camera | | **OVRManager** | Singleton managing device state, features, and configuration | | **OVRInput** | Unified API for controller input and tracking | | **OVROverlay** | Compositor layers for sharper text, UI, and video | | **OVRPassthroughLayer** | Enables passthrough visualization | | **OVRSpatialAnchor** | World-locked spatial anchors | | **OVRBoundary** | Guardian boundary system access | | **OVRProjectSetup** | Project Setup Tool for configuration tasks |

OVRCameraRig: The Primary XR Rig

The **OVRCameraRig** prefab is the primary GameObject to add to create a VR/MR scene. It replaces Unity's conventional Main Camera and provides:

  • Stereo rendering for left/right eyes
  • Head and positional tracking via the TrackingSpace hierarchy
  • Anchors for eyes (CenterEyeAnchor, LeftEyeAnchor, RightEyeAnchor)
  • Anchors for hands/controllers (LeftHandAnchor, RightHandAnchor)

Hierarchy Structure

The OVRCameraRig hierarchy includes eye anchors, hand/controller anchors, and multimodal anchors. To see the current structure, inspect the OVRCameraRig prefab or instantiate it in a scene and examine the TrackingSpace children.

Adding OVRCameraRig to a Scene

When working with a scene that needs XR support:

1. **Check if OVRCameraRig exists** in the current scene 2. If NOT found, the agent should:

  • **Option A**: Ask the user which scene contains the OVRCameraRig (it is part of the OVRCameraRig prefab instance)
  • **Option B**: Open a scene where the agent knows the OVRCameraRig exists
  • **Option C**: Ask the user if they want to add the OVRCameraRig prefab to the current scene

3. When adding OVRCameraRig, follow the setup steps in [references/ovr-camera-rig.md](references/ovr-camera-rig.md).

OVRManager: Feature Configuration

**OVRManager** (`OVRManager.cs`) is the main interface to VR hardware. It is a **singleton** attached to the OVRCameraRig prefab that exposes the Meta XR SDK to Unity. It controls:

  • **Target Devices** - Which Meta VR devices to target
  • **Performance & Quality** - MSAA, adaptive resolution, dynamic resolution
  • **Tracking** - Tracking origin type (Eye Level, Floor Level, Stage, Stationary)
  • **Display** - Color gamut settings
  • **Quest Features** - Hand tracking, passthrough, keyboard, focus awareness, security, experimental features
  • **Mixed Reality Capture** - Real-world compositing

Analyzing OVRManager for Features

To understand what features are available and how they're configured, **analyze the OVRManager component** on the OVRCameraRig in the scene. The OVRManager Inspec

Read more
@meta-quest
Ships withmeta-vr

Agentic skills and tools for Meta VR and Horizon OS development.

24936 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
249
Star history of meta-quest/agentic-tools on GitHub, a chart by star-history.com

Other skills on meta-vr.

hz-android-2d-porting

hz-android-2d-porting

Guides porting existing Android 2D apps to Meta VR and Horizon OS — input adaptation, panel layout, and design requirements. Use…

@meta-quest@meta-questInstall Skill
hz-api-upgrade

hz-api-upgrade

Upgrades Meta VR apps to newer Horizon OS SDK versions — migration guides, deprecated API replacements, changelog. Use when…

@meta-quest@meta-questInstall Skill
hz-immersive-designer

hz-immersive-designer

Guides design of comfortable, intuitive VR/MR experiences for Meta VR and Horizon OS — comfort guidelines, interaction patterns,…

@meta-quest@meta-questInstall Skill
hz-iwsdk-webxr

hz-iwsdk-webxr

Builds WebXR experiences for Meta VR and Horizon OS using the Immersive Web SDK (IWSDK) — ECS architecture, Three.js integration,…

@meta-quest@meta-questInstall Skill
hz-metavrx-layout-sdk

hz-metavrx-layout-sdk

Build multi-window Meta Horizon OS experiences with the MetaVrx Layout SDK in Jetpack Compose or React Native. Covers framework…

@meta-quest@meta-questInstall Skill
hz-metavrx-ui-set

hz-metavrx-ui-set

Builds app UI for Meta VR and Horizon OS with the MetaVrx UI Set, a Jetpack Compose component library and design system. Covers…

@meta-quest@meta-questInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about hz-unity-meta-core-sdk.

Which coding agents can use hz-unity-meta-core-sdk?
hz-unity-meta-core-sdk installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.