hz-platform-sdk

$npx mdskill add meta-quest/agentic-tools/hz-platform-sdk

Integrates Horizon Platform SDK features in Meta Quest Android/Kotlin apps.

  • Guides setup, initialization, and API usage for 17 SDK packages.
  • Depends on Maven artifacts and HorizonServiceConnection for platform access.
  • Recommends based on feature requested and official Meta documentation.
  • Provides code snippets, error handling, and best practices for integration.

SKILL.md

.github/skills/hz-platform-sdkView on GitHub ↗
---
name: hz-platform-sdk
license: Apache-2.0
description: Guides integration of the Horizon Platform SDK for Meta Quest and Horizon OS Android/Kotlin apps — achievements, IAP, users, leaderboards, presence, notifications, abuse reporting, entitlements, asset files, application lifecycle, consent, device integrity, language packs, user age categories, and rate and review. Covers setup, initialization, API usage, data types, error handling, and best practices for all 17 public platform SDK packages.
---

# Horizon Platform SDK - Android/Kotlin Integration Guide

## When to Use

Use this skill when a developer:
- Wants to integrate any Horizon Platform SDK feature in a Meta Quest Android/Kotlin application
- Asks about setup, initialization, or dependencies for the SDK
- Needs help with a specific public platform API (achievements, IAP, users, etc.)
- Is troubleshooting errors or status codes from any SDK package
- Asks about HorizonServiceConnection, entitlements, or HzPlatformService

## Quick Start

- **Setup guide**: https://developers.meta.com/horizon/documentation/android-apps/ps-setup-kotlin
- **Maven artifacts**: https://central.sonatype.com/search?namespace=com.meta.horizon.platform.sdk

## Available APIs

| Feature | Reference | Description |
|---------|-----------|-------------|
| Abuse Report | `abuse-report` | Listen for report button events in the system panel |
| Achievements | `achievements` | Unlock, track progress, and query simple/count/bitfield achievements |
| Application | `application` | Get app version, launch other apps, manage self-update downloads |
| Application Lifecycle | `application-lifecycle` | Detect launch type, handle deeplinks, log deeplink results |
| Asset File | `asset-file` | List, download, cancel, and delete downloadable asset files (DLC) |
| Consent | `consent` | Check and launch user consent flows |
| Device Application Integrity | `device-application-integrity` | Verify device and app integrity tokens |
| Entitlements | `entitlements` | Verify app purchase legitimacy and user authorization |
| Group Presence | `group-presence` | Set/clear presence, manage sessions, send invites, launch panels |
| In-App Purchases (IAP) | `iap` | Retrieve products, purchase history, checkout flow, consume purchases |
| Language Pack | `language-pack` | Get/set language packs, track localization downloads |
| Leaderboards | `leaderboards` | Retrieve leaderboard info, fetch/write entries with filtering |
| Notifications | `notifications` | Send device notifications with actions and icons |
| Rate and Review | `rate-and-review` | Check eligibility and launch the rating/review UI |
| Rich Presence | `rich-presence` | Set/clear rich presence status and destinations (deprecated; prefer group-presence) |
| User Age Category | `user-age-category` | Query user age group and report age categories |
| Users | `users` | Retrieve user profiles, friends, access tokens, identity verification |

## How to Use

1. **First**, read `references/common-setup.md` for shared setup instructions, initialization code, and common status codes that apply to all APIs.
2. **Then**, read the specific reference file for the API you need (e.g., `references/iap.md` for in-app purchases).

Each reference file contains only the package-specific content: API operations, data types, examples, and package-specific notes. The common setup and error codes are centralized in `common-setup.md` to avoid duplication.

More from meta-quest/agentic-tools

SkillDescription
hz-android-2d-portingGuides porting existing Android 2D apps to Meta Quest and Horizon OS — input adaptation, panel layout, and design requirements. Use when adapting a mobile Android app for Quest.
hz-api-upgradeUpgrades 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.
hz-immersive-designerGuides design of comfortable, intuitive VR/MR experiences for Meta Quest and Horizon OS — comfort guidelines, interaction patterns, spatial layout, accessibility. Use during UX design review or when evaluating comfort and accessibility.
hz-iwsdk-webxrBuilds WebXR experiences for Meta Quest and Horizon OS using the Immersive Web SDK (IWSDK) — ECS architecture, Three.js integration, spatial UI. Use when creating web-based VR/MR apps for Quest Browser.
hz-new-project-creationScaffolds new Meta Quest and Horizon OS projects with recommended settings for Unity, Unreal, Android/Spatial SDK, or WebXR. Use when creating a new Quest app from scratch.
hz-perfetto-debugAnalyzes Meta Quest and Horizon OS VR performance using Perfetto traces — frame timing, CPU/GPU bottlenecks, render pass analysis. Use when profiling frame drops, jank, or thermal issues on Quest devices.
hz-psdk-integrationFor 3P / EXTERNAL developers: guides interactive Horizon Platform SDK (PSDK) integration for Meta Quest and Horizon OS Android/Kotlin apps — analyzes the codebase, recommends public platform features, plans the integration, and validates on device. Uses the external toolchain (Gradle, metavr, a developers.meta.com / Rocksteady App ID). For 1P apps inside fbsource (buck, Chesterfield/ni, adb), use psdk_1p_onboarding_agent instead.
hz-quest-verify-first>-
hz-simpleperf-debugProfiles Meta Quest and Horizon OS application CPU performance using simpleperf — workload classification, CPU hotspot recording, kernel overhead measurement. Use when diagnosing whether an app is CPU-bound, memory-bound, or I/O-bound on Quest devices.
hz-spatial-sdkBuilds spatial Android apps for Meta Quest and Horizon OS with Meta Spatial SDK — ECS architecture, 2D panels, 3D objects, hybrid experiences. Use when creating Kotlin-based spatial applications.