Develop

Expo for React Native

Updated: Aug 27, 2026
Meta Horizon OS is built on AOSP, so React Native apps use the familiar Android development workflow. With Expo, you can use the same project, CLI, Metro server, and Fast Refresh workflow you use for Android, iOS, or web, with Meta Quest as another development target.

How Expo works on Meta Quest

Your core Expo workflow works the same on Meta Quest:
  • Create and manage a standard Expo project.
  • Use Expo CLI and Metro.
  • Preview changes with Expo Go.
  • Use Fast Refresh while developing.
To create a native Quest build, add expo-horizon-core. It configures your app for Horizon OS and provides Quest build variants.

Choose your development loop

Development loopUse it for
Expo Go
Quickly preview JavaScript and UI changes
Development build
Test Horizon OS configuration and native functionality on a headset or Meta Spatial Simulator

Expo Go

Install Expo Go from the Meta Horizon Store, start Metro, and scan the QR code from your headset:
npx expo start
Your app opens in a new window and updates through Fast Refresh.
The Expo SDK version in your project must match the version supported by Expo Go. Expo Go does not apply expo-horizon-core settings or include Horizon OS-specific or custom native modules.

Development builds

An Expo development build is a debug APK of your app that includes its native configuration and modules. Use one when your app needs expo-horizon-core, Horizon OS features, or custom native modules.
Follow Build an Expo app to create the questDebug APK. You can then install the APK on your headset or Meta Spatial Simulator.
Development builds still use Metro and Fast Refresh. Rebuild the APK only when native dependencies or configuration change.

Next steps

Follow Build an Expo app to configure and run your app on Meta Quest.