Agent skill

Hz Unity SDK Upgrade

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

Upgrades Unity projects between Meta XR SDK versions for Meta VR and Horizon OS.

Apache-2.0Auto-check passedGame Development

Install Hz Unity SDK Upgrade

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

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

GitHub CLI
$ gh skill install meta-quest/agentic-tools hz-unity-sdk-upgrade --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-sdk-upgrade .claude/skills/hz-unity-sdk-upgrade && 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-sdk-upgrade
GitHub stars
215
Token cost
~2.8k tokens
SKILL.md length
1,435 words
Files
3 (incl. references)
Skills in repo
34
Repo updated
First seen
Licence
Apache-2.0

At a glance

Upgrades Unity projects between Meta XR SDK versions for Meta VR and Horizon OS.

  • Works in 11 steps: Read the Unity upgrade runbook. Do a… → Establish the source and target SDK… → Query current documentation with metavr… → …
  • Moving from Oculus Integration
  • SKILL.md covers Required workflow, Critical execution and compile…, Critical completion gate and Documentation commands, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

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

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/mruk-migration.md` and `references/unity-upgrade-runbook.md`).

It sits in Game Development, covering Game development and Test coverage. It works with Android. 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

  • Moving from Oculus Integration
  • Older com.meta.xr packages
  • Resolving post-upgrade compile errors
  • Validating runtime behavior

Example prompts

  • “Use the hz-unity-sdk-upgrade skill to upgrade Unity projects between Meta XR SDK versions for Meta VR and Horizon OS”
  • “/hz-unity-sdk-upgrade”

Requirements

  • Pre-approved tools (allowed-tools): Bash(metavr:*)

Workflow steps

11 steps, taken from the first numbered list in SKILL.md.

  1. Read the Unity upgrade runbook. Do a bounded, shallow inventory of the Unity version, render pipeline, XR provider, Meta packages…
  2. Establish the source and target SDK versions from package or SDK-family markers. Treat the Meta XR package version, the bundled native…
  3. Query current documentation with metavr before choosing replacements. Start with one full-range query and one query per active high-impact…
  4. Treat missing or irrelevant results as a documentation-coverage gap. Record the query and result in the upgrade report; do not fill the…
  5. Update the package topology before application code. Remove duplicate vendored SDK content, keep related Meta packages and any required…
  6. Run the critical compile loop below after the package/provider slice and after every coherent migration slice. Do not batch unrelated…
  7. Migrate producers and consumers together. Before optional cleanup or platform checks, enumerate the concrete consumer files and mark each…
  8. If the project uses OVRSceneManager, OVRSceneRoom, OVRSceneAnchor, or custom Scene API loaders, read the MRUK migration best practices…
  9. Treat an accompanying Unity-major-version, XR-provider, or Input System change as a separate migration axis. Check serialized provider…
  10. Validate in layers: package resolution, script compilation, edit/play-mode tests, Android build, then headset behavior for permissions…
  11. Finish only when the requested validation layers pass or are explicitly recorded as failed or unverified with the blocking layer…

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 these tools, so the agent can use them without asking each time:

    • Bash(metavr:*)

    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 SDK Upgrade loads about 2.8k tokens when it runs, and up to ~7.2k if it reads all its reference files. Until then it costs about 112 tokens; SKILL.md has 1,435 words of instructions outside code blocks.

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

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,435 words, ~2,777 tokens.

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

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.

Required workflow

  1. Read the Unity upgrade runbook. 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.
  3. Query current documentation with metavr before choosing replacements. Start with one full-range query and one query per active high-impact axis, then fetch the most relevant authoritative results. Search individual published releases only when package metadata or a changelog shows that an intermediate release matters. Once the relevant official guide and exact target API signatures for the next migration slice are established, implement that slice; do not keep probing adjacent APIs. Return to search only for a new error or unresolved checklist item.
  4. Treat missing or irrelevant results as a documentation-coverage gap. Record the query and result in the upgrade report; do not fill the gap from memory or claim that metavr found guidance it did not return.
  5. Update the package topology before application code. Remove duplicate vendored SDK content, keep related Meta packages and any required bridge/adaptor package compatible with the target release, update the XR provider deliberately, and resolve assembly-definition references. Verify both package declarations and serialized loader/provider settings; installing an OpenXR package does not enable its loader. Run and await any required project-setup tool within this slice, then re-scan for vendored SDK code because imports or setup automation can recreate files. Run the first post-change compile before inspecting package sources or deeply migrating scenes and prefabs; let its diagnostics determine what to inspect next.
  6. Run the critical compile loop below after the package/provider slice and after every coherent migration slice. Do not batch unrelated migration work on top of a failed compile.
  7. Migrate producers and consumers together. Before optional cleanup or platform checks, enumerate the concrete consumer files and mark each migrated. Search scenes, prefabs, serialized fields, custom loaders, editor tooling, and tests—not only .cs call sites. Do not delete or skip an affected consumer merely to obtain a clean compile.
  8. If the project uses OVRSceneManager, OVRSceneRoom, OVRSceneAnchor, or custom Scene API loaders, read the MRUK migration best practices before editing and run its completion checklist before the final compile.
  9. Treat an accompanying Unity-major-version, XR-provider, or Input System change as a separate migration axis. Check serialized provider settings per build target, required OpenXR feature groups and interaction profiles, Active Input Handling, Unity.InputSystem assembly references, Android entry point, permissions, Addressables/Localization, render-pipeline settings, color space, and Android minimum SDK when applicable. Verify version-sensitive details through live docs and installed package APIs.
  10. Validate in layers: package resolution, script compilation, edit/play-mode tests, Android build, then headset behavior for permissions, scene loading, input, rendering, and lifecycle. For compilation, prefer an installed, documented Unity editor-control CLI or bridge when it can safely drive the project's already-open Editor. Otherwise use the matching Unity Editor in batch mode only after confirming that the same project is not open elsewhere. Never start a second Editor on the same project or terminate an unrelated Unity process. Preserve exact commands and results in the upgrade report.
  11. Finish only when the requested validation layers pass or are explicitly recorded as failed or unverified with the blocking layer, evidence, and a concrete next command.
Show full SKILL.md (699 more words)Show less

Critical execution and compile loop

Treat compilation as a blocking feedback loop, not end-of-task validation:

  1. Before editing, capture a fresh baseline compile when the environment supports it and record any pre-existing errors.
  2. Complete the package and XR-provider checklist, wait for package resolution and import, then compile immediately. Fix or revert every new package, assembly, and API error before migrating another subsystem.
  3. Migrate one behavioral slice end to end—for Scene API migration, the producer plus every inventoried consumer—then compile again. Rewire that slice's serialized assets and settings, then compile once more.
  4. On failure, inspect the first actionable error, verify the installed target API or search that exact error, make the smallest coherent fix, and rerun. Do not start unrelated work while the compile is red.
  5. For time-boxed work, reserve roughly the final third for compile/fix cycles because Unity package imports and domain reloads are slow. During that period, every action must directly close a known migration item: edit, compile, inspect the first current error, or verify a required producer/consumer/package invariant. Start no new inventory, duplicate subtask, broad documentation search, optional project-wide fix pass, or adjacent API exploration. Never launch a command whose maximum runtime exceeds the remaining budget. If time expires while red, report the compile failure and remaining errors instead of claiming completion.
  6. Require a fresh clean compile after the last code, package, or serialized-file edit; an earlier clean result does not validate later changes.
  7. If a compile runs asynchronously, stay in the current task and poll that same process to a terminal result. Do not schedule a reminder, defer the check, or return while validation is pending. Read the fresh log and fix current errors before continuing; if the environment cannot keep the process attached, report compilation as unverified rather than complete.

Critical completion gate

Before reporting completion:

  • Verify the exact package set, including bridge/adaptor packages required by APIs the project still uses; for example, projects combining Interaction SDK with OVR APIs may require com.meta.xr.sdk.interaction.ovr. Confirm the intended XR provider is present and enabled, its legacy replacement is removed or deconfigured, and duplicate vendored SDK code is gone.
  • Re-scan game code, assembly definitions, scenes, prefabs, and project settings for every affected legacy producer and consumer.
  • Preserve affected consumer scripts and their .meta GUIDs and migrate them in place. A deprecated consumer that still compiles is unfinished unless the requested scope explicitly retains it; do not delete one merely because it appears unused without checking code and serialized references.
  • If Scene API moved to MRUK, confirm the loader reads AnchorLabels, handles PlaneRect and VolumeBounds, and initializes SceneSettings when MRUK is created at runtime. If a custom loader maps classifications to prefabs, confirm that it selects its global-mesh representation before any shared null-prefab guard and routes GlobalMesh to the application's rendering or collision components. Confirm all consumers, including debug/exporter code, use the migrated contract.
  • Confirm serialized prefab mappings and MRUK/provider settings were rewired; compiling C# cannot prove this.
  • Distinguish package resolution, script compilation, player build, Horizon Link testing, and standalone-device testing in the report. Never promote an earlier layer into evidence for a later one.

Documentation commands

Use JSON output when preserving search results:

bash
metavr docs search --category UNITY --format json "Meta XR Unity SDK release notes <source> <target>"
metavr docs search --category UNITY --format json "<deprecated symbol> migration"
metavr docs search --category UNITY --format json "<package name> <compiler or runtime error>"
metavr docs fetch --format json "<URL returned by search>"

metavr docs search is semantic search, not a complete version-to-version diff. A weak version query is a signal to broaden the search by package and symbol, not permission to invent a breaking-change list.

If metavr is unavailable, do not invent search results. Use current official Developer Center pages and the installed target package's changelog, public API, and samples, and report that live CLI retrieval was not run.

Guardrails

  • Treat bundled or cached breaking-change summaries as leads, not authority; verify against current official documentation and the installed target packages.
  • Do not prescribe incremental upgrades by default. Choose direct or staged migration from package constraints and evidence.
  • Do not delete project assets, regenerate serialized files, or change scenes wholesale without first identifying their consumers.
  • Do not equate deprecated with removed. Decide whether to migrate now based on target support and the requested scope.
  • Do not report success from compilation alone. Unity serialization, Android permissions, and device-only paths can still fail.

References

© 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-sdk-upgrade of meta-quest/agentic-tools.

  • SKILL.md
  • references/mruk-migration.md
  • references/unity-upgrade-runbook.md

Open the folder on GitHubat commit 3a8553d

Compare with similar skills

Hz Unity SDK Upgrade 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 SDK Upgrade compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Hz Unity SDK Upgrade this skillmeta-quest/agentic-tools215—~2.8kAutomated safety check: PassApache-2.0
Godot Admob Troubleshootpoingstudios/godot-admob-plugin632—~812Automated safety check: PassMIT
Godot Admob Mediationpoingstudios/godot-admob-plugin632—~364Automated safety check: PassMIT
Scenario Godot Performance Exportscenario-labs/skills946—~5.1kAutomated safety check: NotesMIT
Godot Platform Mobilethedivergentai/GD-Agentic-Skills821—~3.2kAutomated safety check: PassLGPL-3.0
Godot Admob Migratepoingstudios/godot-admob-plugin632—~1kAutomated safety check: PassMIT

Similar skills

  • Godot Admob Troubleshoot

    poingstudios/godot-admob-plugin

    Provides instructions to diagnose ad loading errors, handle error codes, open the Ad Inspector, and resolve integration issues in GDScript and C.

    632 GitHub stars~812 tokensUpdated 9 days ago
    Game DevelopmentAuto-check passed
  • Godot Admob Mediation

    poingstudios/godot-admob-plugin

    Provides instructions to configure, integrate, and verify third-party mediation networks (AppLovin, Meta Audience Network, Unity Ads, etc.) in GDScript and C.

    632 GitHub stars~364 tokensUpdated 9 days ago
    Game DevelopmentAuto-check passed
  • A skill your agent uses when a Godot game stutters, drops frames, hitches when entering new areas, overheats a phone, or must ship: profiling and Performance monitors, CPU or GPU bound, draw calls…

    946 GitHub stars~5.1k tokensUpdated today
    Game DevelopmentAuto-check: notes
  • Godot Platform Mobile

    thedivergentai/GD-Agentic-Skills

    Expert blueprint for mobile platforms (Android/iOS) covering touch controls, virtual joysticks, responsive UI, safe areas (notches), battery optimization, and app store guidelines.

    821 GitHub stars~3.2k tokensUpdated 1 mo ago
    Game DevelopmentAuto-check passed
  • Godot Admob Migrate

    poingstudios/godot-admob-plugin

    Provides instructions to migrate your Godot AdMob project between different plugin versions (e.g.

    632 GitHub stars~1k tokensUpdated 9 days ago
    Game DevelopmentAuto-check passed
  • Mediation

    poingstudios/godot-admob-plugin

    Create and maintain mediation network plugins (e.g., AppLovin, Vungle, Meta, IronSource) across Godot, C, Android, and iOS.

    632 GitHub stars~2k tokensUpdated 9 days ago
    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 15 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 15 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 15 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 15 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 15 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 15 days ago
    Auto-check passed

Works with

Questions about Hz Unity SDK Upgrade

What does Hz Unity SDK Upgrade do?

Upgrades Unity projects between Meta XR SDK versions for Meta VR and Horizon OS. Hz Unity SDK Upgrade is an agent skill from meta-quest/agentic-tools. Upgrades Unity projects between Meta XR SDK versions for Meta VR and Horizon OS.

When should I use Hz Unity SDK Upgrade?

Hz Unity SDK Upgrade fits situations like: moving from Oculus Integration; older com.meta.xr packages; resolving post-upgrade compile errors; validating runtime behavior.

How do I install Hz Unity SDK Upgrade in Claude Code?

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

How do I install Hz Unity SDK Upgrade in Codex?

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

Can I use Hz Unity SDK Upgrade 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-sdk-upgrade -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-sdk-upgrade, .gemini/skills/hz-unity-sdk-upgrade, .github/skills/hz-unity-sdk-upgrade and .opencode/skills/hz-unity-sdk-upgrade in your project.

What does Hz Unity SDK Upgrade need to run?

SKILL.md names no scripts, command-line tools or credentials: Hz Unity SDK Upgrade is instructions for the agent only. Its frontmatter pre-approves these tools: Bash(metavr:*).

Does Hz Unity SDK Upgrade 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 SDK Upgrade 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 SDK Upgrade use?

Hz Unity SDK Upgrade 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 SDK Upgrade use?

About 2.8k tokens (SKILL.md is roughly 11k 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 4.4k tokens, read only when the agent opens those files.

What are the alternatives to Hz Unity SDK Upgrade?

Skills that share tags, products or a category with Hz Unity SDK Upgrade: Godot Admob Troubleshoot (poingstudios/godot-admob-plugin, 632 stars), Godot Admob Mediation (poingstudios/godot-admob-plugin, 632 stars), Scenario Godot Performance Export (scenario-labs/skills, 946 stars) and Godot Platform Mobile (thedivergentai/GD-Agentic-Skills, 821 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Hz Unity SDK Upgrade?

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.