skills/hz-api-upgrade/SKILL.md
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 skillsauth add meta-quest/agentic-tools hz-api-upgradeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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:
hzdb docs search "release notes v72"
hzdb 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:
hzdb app install ./build/output.apk
hzdb app launch com.yourcompany.yourapp
Ensure the upgrade did not introduce performance regressions:
hzdb 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 hzdb tool provides documentation search to help during upgrades. Invoke via npx -y @meta-quest/hzdb <args> — no global install needed.
# Search for migration-related documentation
hzdb docs search "migration guide"
hzdb docs search "deprecated API"
hzdb docs search "breaking changes v73"
# Search for specific API replacements
hzdb docs search "OVRManager replacement"
hzdb docs search "vrapi openxr migration"
development
Build and sideload Android apps for Meta Portal devices (Portal, Portal+, Portal Mini, Portal Go, Portal TV) using hzdb. 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 + `hzdb 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.
tools
Provides the complete hzdb (Horizon Debug Bridge) CLI reference for Meta Quest 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 hzdb, asks what commands are available, needs CLI syntax help, or wants to know what hzdb can do.
development
Sets up the Meta XR Simulator for testing Meta Quest and Horizon OS apps without a physical device. Use when configuring device-free testing for Unity or Unreal projects.
development
Validates Meta Quest and Horizon OS apps against VRC (Virtual Reality Check) store publishing requirements. Use when preparing a build for Quest Store submission or running pre-submission compliance checks.