Agent skill

Hz Unity Device Readiness

by meta-quest in meta-quest/agentic-tools

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…

Apache-2.0Auto-check passedGame Development

Install Hz Unity Device Readiness

skills CLI
$ npx skills add meta-quest/agentic-tools --skill hz-unity-device-readiness -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install meta-quest/agentic-tools hz-unity-device-readiness --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/meta-quest/agentic-tools.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/hz-unity-device-readiness .claude/skills/hz-unity-device-readiness && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
hz-unity-device-readiness
GitHub stars
215
Token cost
~2.4k tokens
SKILL.md length
1,222 words
Files
3 (incl. references)
Skills in repo
34
Repo updated
First seen
Licence
Apache-2.0

At a glance

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…

  • Works in 4 steps: Scan the Project → Categorize Findings → Suggest Adaptations → …
  • Game Development work in your project
  • SKILL.md covers Context, Analysis Workflow, Output Format and Key References, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Hz Unity Device Readiness is an agent skill from meta-quest/agentic-tools. 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.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/hand-tracking-patterns.md` and `references/migration-guide.md`).

It sits in Game Development. The repository describes itself as: Agent Skills for Meta Quest/Horizon OS VR Development. The licence is Apache-2.0.

When your agent uses it

  • Game Development work in your project

Example prompts

  • “Use the hz-unity-device-readiness skill to audit a Unity project for Meta VR Glasses readiness across input and field of view — finds…”
  • “/hz-unity-device-readiness”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Scan the Project
  2. Categorize Findings
  3. Suggest Adaptations
  4. Prioritize

What it can do on your machine

Read from SKILL.md and the folder at commit 3a8553d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Hz Unity Device Readiness loads about 2.4k tokens when it runs, and up to ~5.6k if it reads all its reference files. Until then it costs about 85 tokens; SKILL.md has 1,222 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~85
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from meta-quest/agentic-tools at commit 3a8553d, republished under its Apache-2.0 licence (© meta-quest). 1,222 words, ~2,444 tokens.

Download SKILL.mdSave it as .claude/skills/hz-unity-device-readiness/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
hz-unity-device-readiness
description
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.
license
Apache-2.0

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

Build a complete picture of how the project handles input today. Controller dependencies hide in surprising places — not just obvious OVRInput.Get() calls, but also XR Interaction Toolkit components, Unity's legacy Input system, and custom grab systems. Cast a wide net:

bash
# Find controller input usage
grep -r "OVRInput\.\(Get\|GetDown\|GetUp\)" --include="*.cs" .
grep -r "OVRInput\.Button\|OVRInput\.Axis" --include="*.cs" .

# Find XR Interaction Toolkit usage
grep -r "XRGrabInteractable\|XRRayInteractor\|XRDirectInteractor" --include="*.cs" .

# Find legacy Input system usage
grep -r "Input\.GetButton\|Input\.GetAxis\|Input\.GetKey" --include="*.cs" .

# Find interaction patterns
grep -r "Grabbable\|IGrabbable\|OnGrab\|OnRelease" --include="*.cs" .
grep -r "Raycast\|RaycastHit\|Physics\.Raycast" --include="*.cs" .
Step 2: Categorize Findings

For each finding, categorize it:

CategoryWhat to Look ForImpact
Controller InputOVRInput.Get(), button/axis referencesMust replace with hand gestures or ISDK components
Grab SystemsTrigger-based grab, distance grabConvert to HandGrabInteractable with pinch detection
UI InteractionRay-based UI, pointer clicksConvert to poke interactions (PokeInteractable)
MovementThumbstick locomotion, snap turnRedesign for hand-based or gaze-based navigation
Object ManipulationThumbstick rotation, button-based scalingUse direct hand rotation/scaling with two-hand support
Step 3: Suggest Adaptations

For each controller-dependent system, suggest a specific ISDK-based replacement. Reference the hand-tracking patterns in references/hand-tracking-patterns.md for implementation details.

Step 4: Prioritize

Rank suggestions by impact and effort:

  • High Priority — core gameplay interactions that use controller APIs and must be replaced (e.g. OVRInput-based grab, trigger-based shooting).
  • Medium Priority — secondary interactions on controller APIs (e.g. thumbstick scrolling, ray-based UI navigation).
  • Low Priority — enhancements for code that already uses hand tracking but could be improved (hover feedback, audio cues, two-hand support). Nice-to-haves, not required to be hand-ready.

Important. If the project already uses ISDK hand tracking (HandGrabInteractable, PokeInteractable, etc.) and has no controller-dependent code, report that it is already hand-ready. Surface enhancements only as Low-priority items — don't treat them as required changes. A project that already works with hands should not receive a long list of improvement suggestions.

Output Format

Provide your analysis as a structured report:

  1. Project Summary — what type of project this is and its core mechanics.
  2. Readiness Score — rough percentage of interactions that already work with hands.
  3. Required Changes — prioritized list with:
    • what was found (specific files / classes),
    • what needs to change,
    • which ISDK pattern to use (reference hand-tracking-patterns.md),
    • estimated complexity (Low / Medium / High).
  4. Quick Wins — changes that are easy and high-impact.
  5. Migration Risks — potential issues to watch for.

Key References

For detailed implementation patterns, read:

  • references/hand-tracking-patterns.md — 7 ISDK interaction patterns with component references.
  • references/migration-guide.md — step-by-step controller-to-hands migration checklist.

Important Notes

  • Always maintain controller support as a fallback during migration.
  • Consider accessibility — some users may prefer or need controller input.
  • Performance matters — hand tracking adds CPU overhead; suggest efficient implementations.
  • Test with both left and right hands; don't assume right-hand dominance.
  • Hand tracking works best with interactions within arm's reach.

Field-of-View Readiness (Head-Locked UI)

Run this when preparing the project for a device with a narrower field of view than the developer's current target. It finds head-locked (HUD) UI that fits a wider FoV but would be clipped at the edges of the narrower device — reticles, health/ammo counters, minimaps, tutorial pins, vignette/letterbox overlays — and reports each with a migration fix. This is a distinct pass from the input workflow above.

What "FoV bleed" means

In VR nothing is permanently off-screen — the user can turn their head. The genuinely-clipped case is head-locked content: UI attached to the camera at a fixed angular offset. If that offset fit the wider FoV but exceeds the narrower device's frustum, it is clipped every frame and can never be brought into view. That is the only class this pass claims to find completely.

Show full SKILL.md (508 more words)Show less
Reliability rule

Compute the geometry; never estimate it. Do not read scene/prefab YAML and do trigonometry on nested transforms in your head. Get resolved transforms from the running project — enter Play mode (or a build) and read the live objects — then apply the deterministic frustum test below. The math decides; you classify and suggest.

To reach the game's HUD states and automate this instead of clicking through by hand, drive the running build with Meta XR Operator — it can play the project and exercise gameplay states for you, then you inspect the resolved objects at each state. If you can't run and inspect the project live, this pass isn't reliable from static files alone — say so rather than guessing.

FoV spec source

The frustum test needs both view frusta as tangent half-angles:

  • { leftTan, rightTan, upTan, downTan } — target (narrower) device
  • { leftTan, rightTan, upTan, downTan } — current device (for the "fit before, not now" delta)

Use the target device's published FoV spec for these values. If you don't have both sets, skip the FoV pass and say so — never guess numbers you don't have.

Procedure
  1. Confirm you can run and inspect the project live (for example with Meta XR Operator driving a build) and that you have both frustum param sets. If either is missing, stop and report why.
  2. Enumerate head-locked UI candidates: Canvas with renderMode ScreenSpaceOverlay/ScreenSpaceCamera; any Canvas/RectTransform/Renderer whose transform ancestry passes through the tracked camera / CenterEyeAnchor / OVRCameraRig center eye; full-screen vignette/letterbox overlays. Exclude world-locked content not parented to the head.
  3. For each candidate, get resolved corner world positions and the center-eye camera world transform from the running project — not from YAML.
  4. Frustum test (per corner, transformed into eye space, for z > 0): tanX = x/z, tanY = y/z; a corner is inside a device when -leftTan <= tanX <= rightTan and -downTan <= tanY <= upTan. Bleed = at least one corner inside the current device but outside the target device.
  5. Report each bleed ordered by severity, noting per-corner margins (degrees past the target edge).
Severity
  • Critical — always-visible HUD the player relies on (reticle, health, ammo, objective marker) clipped.
  • Warning — secondary HUD partially clipped, or a comfort overlay mis-sized for the narrower FoV.
  • Advice — decorative head-locked element near the edge.
Migration guidance
  • Pull the HUD inward within the target's angular budget; prefer the primary 0–30° zone for must-see HUD.
  • Reduce HUD radius / reference distance so the cluster subtends a smaller angle.
  • Convert edge HUD to an off-screen indicator (arrow / edge glow) when it must live at the periphery.
  • Re-tune vignette / letterbox to the narrower FoV rather than the wider one.
  • Avoid simply hiding clipped HUD — relocate it; the information is usually needed.
Limits (state these in the report)
  • Completeness is guaranteed only for head-locked UI — not world-locked content expected to be seen peripherally, nor anything reached only in specific gameplay states.
  • First-order model: mono central frustum. Stereo (an element visible to one eye only) and lens-distortion are refinements, not covered.
  • If the frustum config was unavailable, say the pass was skipped — never report "no issues found" when it did not run.

© meta-quest, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in skills/hz-unity-device-readiness of meta-quest/agentic-tools.

  • SKILL.md
  • references/hand-tracking-patterns.md
  • references/migration-guide.md

Open the folder on GitHubat commit 3a8553d

Compare with similar skills

Hz Unity Device Readiness next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Hz Unity Device Readiness compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Hz Unity Device Readiness this skillmeta-quest/agentic-tools215—~2.4kAutomated safety check: PassApache-2.0
Image to Three.js Modelimg2threejs/img2threejs18k1 repos~8.2kAutomated safety check: PassApache-2.0
Web CloneJane-xiaoer/claude-skill-web-clone1k1 repos~2.7kAutomated safety check: PassMIT
Threejs Game Directormajidmanzarpour/threejs-game-skills2.5k—~2.2kAutomated safety check: PassMIT
Game Asset Generatorhtdt/godogen7.1k—~2.8kAutomated safety check: PassMIT
Threejs Gameplay Systemsvalkor-ai/loom1.2k1 repos~1.4kAutomated safety check: PassApache-2.0

Similar skills

  • Image to Three.js Model

    img2threejs/img2threejs

    Rebuilds the object in a reference image as a procedural, animation-ready Three.js model written entirely in code, using staged sculpting with quality checks.

    18k GitHub starsUsed in 1 repo~8.2k tokens
    Game DevelopmentAuto-check passed
  • Web Clone

    Jane-xiaoer/claude-skill-web-clone

    网站复刻 / 克隆方法论。USE WHEN 用户说 复刻网站、克隆网站、clone website、抄个站、仿站、 照着这个站做一个、reproduce site、还原某个网页效果、把这个站搬下来改成我的、 复刻某个交互/WebGL/Canvas/Three.js 效果。提供「先拿真源码 → 判路径 → 逆向拆解 → 搭工程 → 替换内容」的可移植决策树,覆盖静态站 /…

    1k GitHub starsUsed in 1 repo~2.7k tokens
    Game DevelopmentAuto-check passed
  • Threejs Game Director

    majidmanzarpour/threejs-game-skills

    Entrypoint for building, upgrading, and finishing Three.js browser games.

    2.5k GitHub stars~2.2k tokensUpdated 12 days ago
    Game DevelopmentAuto-check passed
  • Generates game art from text prompts: PNG images, GLB 3D models, rigged characters, animations and sprites, with background removal.

    7.1k GitHub stars~2.8k tokensUpdated 8 days ago
    Game DevelopmentAuto-check passed
  • Build and iterate playable Three.js game systems: starter scaffold, architecture, design briefs, core loops, level and encounter design, entities, input, camera, collision and physics, scoring…

    1.2k GitHub starsUsed in 1 repo~1.4k tokens
    Game DevelopmentAuto-check passed
  • Uloop Execute Dynamic Code

    CyberAgentGameEntertainment/NovaShader

    Execute C with Unity APIs when existing uloop tools cannot inspect or edit enough.

    1.6k GitHub starsUsed in 1 repo~1.9k tokens
    Game DevelopmentAuto-check passed

More from meta-quest/agentic-tools

All 34 skills in this repo
  • Hz Android 2D Porting

    meta-quest/agentic-tools

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

    215 GitHub stars~2.1k tokensUpdated 16 days ago
    Auto-check passed
  • Hz API Upgrade

    meta-quest/agentic-tools

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

    215 GitHub stars~1.8k tokensUpdated 16 days ago
    Auto-check passed
  • Hz Iwsdk Webxr

    meta-quest/agentic-tools

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

    215 GitHub stars~3k tokensUpdated 16 days ago
    Auto-check passed
  • Hz Metavrx Layout SDK

    meta-quest/agentic-tools

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

    215 GitHub stars~855 tokensUpdated 16 days ago
    Auto-check passed
  • Hz New Project Creation

    meta-quest/agentic-tools

    Scaffolds new Meta VR and Horizon OS projects after the build path is selected — Standard Android, Meta Spatial SDK, Unity, Unreal, or WebXR.

    215 GitHub stars~2.3k tokensUpdated 16 days ago
    Auto-check passed
  • Hz Perfetto Debug

    meta-quest/agentic-tools

    Analyzes Meta VR and Horizon OS VR performance using Perfetto traces — frame timing, CPU/GPU bottlenecks, render pass analysis.

    215 GitHub stars~2.8k tokensUpdated 16 days ago
    Auto-check passed

Questions about Hz Unity Device Readiness

What does Hz Unity Device Readiness do?

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…. Hz Unity Device Readiness is an agent skill from meta-quest/agentic-tools. 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.

When should I use Hz Unity Device Readiness?

Hz Unity Device Readiness fits situations like: game Development work in your project.

How do I install Hz Unity Device Readiness in Claude Code?

Run `npx skills add meta-quest/agentic-tools --skill hz-unity-device-readiness -a claude-code`. Or copy the skill folder (skills/hz-unity-device-readiness in meta-quest/agentic-tools) into .claude/skills/hz-unity-device-readiness in your project. Claude Code loads it when a task matches its description.

How do I install Hz Unity Device Readiness in Codex?

Run `npx skills add meta-quest/agentic-tools --skill hz-unity-device-readiness -a codex`. Or copy the skill folder (skills/hz-unity-device-readiness in meta-quest/agentic-tools) into .agents/skills/hz-unity-device-readiness in your project. Codex loads it when a task matches its description.

Can I use Hz Unity Device Readiness in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add meta-quest/agentic-tools --skill hz-unity-device-readiness -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/hz-unity-device-readiness, .gemini/skills/hz-unity-device-readiness, .github/skills/hz-unity-device-readiness and .opencode/skills/hz-unity-device-readiness in your project.

What does Hz Unity Device Readiness need to run?

SKILL.md names no scripts, command-line tools or credentials: Hz Unity Device Readiness is instructions for the agent only.

Does Hz Unity Device Readiness access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Hz Unity Device Readiness safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Hz Unity Device Readiness use?

Hz Unity Device Readiness is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Hz Unity Device Readiness use?

About 2.4k tokens (SKILL.md is roughly 9.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.1k tokens, read only when the agent opens those files.

What are the alternatives to Hz Unity Device Readiness?

Skills that share tags, products or a category with Hz Unity Device Readiness: Image to Three.js Model (img2threejs/img2threejs, 18k stars), Web Clone (Jane-xiaoer/claude-skill-web-clone, 1k stars), Threejs Game Director (majidmanzarpour/threejs-game-skills, 2.5k stars) and Game Asset Generator (htdt/godogen, 7.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Hz Unity Device Readiness?

meta-quest (a GitHub organization) maintains it in meta-quest/agentic-tools, which has 215 GitHub stars. The repository holds 34 skills in this directory. The repository was last updated on September 24, 2026.

Source: meta-quest/agentic-tools on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.