---
name: Horizon Platform SDK
slug: horizon-platform-sdk
category: AI Engineering
description: Horizon Platform SDK guides integration of Meta Quest Horizon OS platform APIs in Android/Kotlin apps. Use it for setup, initialization, and feature APIs like achievements, IAP, users, leaderboards, presence, and entitlements.
github: "https://github.com/meta-quest/agentic-tools/tree/main/skills/hz-platform-sdk"
language: "C#"
stars: 189
forks: 17
install: "npx degit https://github.com/meta-quest/agentic-tools/tree/main/skills/hz-platform-sdk ~/.claude/skills/hz-platform-sdk"
installs_to: ~/.claude/skills/hz-platform-sdk
source_path: skills/hz-platform-sdk/SKILL.md
collection_size: 25
category_size: 3278
collection_url: "https://dirskills.com/collections/meta-quest/agentic-tools"
added: 2026-09-06T05:19:41.340Z
last_synced: 2026-09-06T05:19:41.340Z
canonical_url: "https://dirskills.com/skills/horizon-platform-sdk"
---

# Horizon Platform SDK

Horizon Platform SDK guides integration of Meta Quest Horizon OS platform APIs in Android/Kotlin apps. Use it for setup, initialization, and feature APIs like achievements, IAP, users, leaderboards, presence, and entitlements.

**Install:**

```bash
npx degit https://github.com/meta-quest/agentic-tools/tree/main/skills/hz-platform-sdk ~/.claude/skills/hz-platform-sdk
```

## README

# 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.
