Upgrades Meta Quest apps to newer Horizon OS SDK versions — migration guides, deprecated API replacements, changelog. Use when updating SDK versions or fixing deprecated API warnings.
npx skills add https://github.com/meta-quest/agentic-tools --skill hz-api-upgrade
Use this skill when:
Every SDK upgrade, regardless of platform, follows the same high-level process:
Determine what version the project currently targets:
Packages/manifest.json or the Package Manager UI for com.meta.xr.* package versions.uplugin files or the Plugins browserbuild.gradle or build.gradle.kts for com.meta.spatial:* dependency versionspackage.json for @meta-spatial-sdk/* or @iwsdk/* package versionsBefore upgrading, review what changed between your current version and the target version. See references/api-changelog.md for a summary of recent changes.
Use the device hub to search documentation:
metavr docs search "release notes v72"
metavr docs search "migration guide openxr"
Update the version numbers in your project configuration:
manifest.json directlybuild.gradlenpm update or edit package.jsonAfter updating, compile the project and address errors and warnings. See references/deprecation-guide.md for common replacements.
# Search project for known deprecated APIs
grep -rn "vrapi_" --include="*.c" --include="*.cpp" --include="*.h" src/
grep -rn "OVRManager" --include="*.cs" Assets/
Deploy and verify functionality on a connected Quest device:
metavr app install ./build/output.apk
metavr app launch com.yourcompany.yourapp
Ensure the upgrade did not introduce performance regressions:
metavr perf capture
The Meta XR SDK for Unity is distributed as UPM packages. Upgrades are performed through the Unity Package Manager. Key packages include com.meta.xr.sdk.core, com.meta.xr.sdk.interaction, and com.meta.xr.sdk.platform.
See references/sdk-migration.md for the step-by-step Unity upgrade guide.
The Meta XR Plugin for Unreal is distributed as an engine plugin. Upgrades involve downloading the new plugin version and regenerating project files.
See references/sdk-migration.md for the step-by-step Unreal upgrade guide.
The Meta Spatial SDK is distributed as Gradle dependencies. Upgrades involve bumping version numbers in your Gradle build files.
See references/sdk-migration.md for the step-by-step Spatial SDK upgrade guide.
The Immersive Web SDK is distributed as npm packages. Upgrades involve updating package versions in package.json.
See references/sdk-migration.md for the step-by-step IWSDK upgrade guide.
Meta has progressively moved from Oculus.* and OVR* namespaces to Meta.* namespaces. After an upgrade, you may see compilation errors due to renamed classes or moved packages.
APIs that were deprecated in previous versions may be fully removed in newer versions. If you skipped intermediate upgrades, you may encounter missing symbols. Always upgrade incrementally.
Newer Horizon OS versions may require additional permissions in your AndroidManifest.xml. Common additions include:
com.oculus.permission.HAND_TRACKING for hand tracking featureshorizonos.permission.HEADSET_CAMERA for passthrough camera access<meta-data> entries for feature declarationsNewer SDK versions may require updated <meta-data> entries in AndroidManifest.xml, such as com.oculus.supportedDevices or updated minSdkVersion values.
New binary uploads for Meta Horizon apps must set targetSdkVersion within the supported range.
targetSdkVersion to API level 32-34 for immersive apps (or 32-36 for 2D panel apps)minSdkVersion can remain at API level 32Unity: Use the Project Setup Tool in the Meta XR SDK -- it can update API versions automatically. Or manually set in Player Settings -> Other Settings -> Target API Level.
Unreal: Use the Project Setup Tool in the Meta XR Plugin. Or set in Project Settings -> Android -> Target SDK Version.
Gradle (Spatial SDK / Native):
android {
defaultConfig {
targetSdkVersion 34 // 32-34 for immersive, 32-36 for 2D panel apps
minSdkVersion 32
}
}
The metavr tool provides documentation search to help during upgrades. Invoke via metavr <args> (published as the npm package metavr; if metavr is not on PATH, run npx -y metavr <args>) — no global install needed.
# Search for migration-related documentation
metavr docs search "migration guide"
metavr docs search "deprecated API"
metavr docs search "breaking changes v73"
# Search for specific API replacements
metavr docs search "OVRManager replacement"
metavr docs search "vrapi openxr migration"
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
Next.js best practices - file conventions, RSC boundaries, data patterns, async APIs, metadata, error handling, route handlers, image/font optimization, bundling
Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
Take meta-quest/hz-api-upgrade from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npx.
Without those the skill loads but fails at the first command.