expo-horizon

Migrate Expo SDK apps to Meta Quest using expo-horizon packages.

265|12|Updated Jan 27, 2026
One-click install
npx skills add https://github.com/software-mansion-labs/skills --skill expo-horizon
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: expo-horizon
Source: https://github.com/software-mansion-labs/skills/tree/main/skills/expo-horizon
Command: npx skills add https://github.com/software-mansion-labs/skills --skill expo-horizon

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Expo Horizon provides a structured guide for adding Meta Quest support to Expo apps via the expo-horizon packages, capturing decision logic and common pitfalls to help engineers migrate efficiently.

Core Features & Use Cases

  • Decision Tree: guides users to decide the appropriate steps for Quest integration, including when to install expo-horizon-core first and how to handle optional packages like expo-horizon-location and expo-horizon-notifications.
  • Setup Workflow: outlines the required sequence (install core first, detect existing location/notification packages, prompt before migration, perform migrations with explicit user approval, and run prebuild after changes) to ensure a Quest-ready Expo project.
  • Runtime & Build Guidance: covers runtime checks (isHorizonDevice / isHorizonBuild), build variants (quest/mobile), and Meta Horizon Store considerations.

Quick Start

Install expo-horizon-core first, then follow the Setup Workflow to add Meta Quest support to an existing Expo app and migrate location or notifications only with explicit user approval.

Frequently Asked Questions about expo-horizon

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add Meta Quest support to an existing Expo app?

To add Meta Quest support to an Expo app, you must install the expo-horizon-core package first, configure the horizon core plugin, and run a prebuild to generate the Quest-ready project files.

What is the correct setup workflow for migrating a React Native project to Meta Quest?

The correct Meta Quest migration workflow requires installing the core package first, detecting existing location or notification packages, prompting for explicit user approval before migrating them, and performing a prebuild after all changes.

Does my Expo project need to migrate expo-location and expo-notifications for Quest builds?

Migrating expo-location and expo-notifications to their expo-horizon equivalents is optional and only proceeds with explicit user approval after the core setup detects these existing packages in your project.

Can I check if my React Native app is running on a Meta Quest device at runtime?

You can check if your app is running on a Meta Quest device at runtime by using the provided isHorizonDevice and isHorizonBuild checks to conditionally execute spatial or mobile build variant logic.

What build variants are available when deploying an Expo app to the Meta Horizon Store?

When deploying an Expo app to the Meta Horizon Store, the build configuration supports both quest and mobile build variants to target different device capabilities within the same project.

Why does the Expo to Meta Quest migration require installing the core package before optional ones?

Installing expo-horizon-core before optional packages is required to establish the foundational Quest plugin configuration, ensuring the environment is correctly initialized before migrating location or notifications modules.