---
title: "Getting Started With Expo on Meta Quest"
description: "Start building React Native apps for Meta Quest with Expo. This guide details the setup using Expo Go for fast iteration and explains how to use development builds for full native capabilities on Met Horizon OS."
url: https://www.callstack.com/blog/getting-started-with-expo-on-meta-quest
updated: 2026-10-25T20:07:25.579Z
---

# Getting Started With Expo on Meta Quest

Start building React Native apps for Meta Quest with Expo. This guide details the setup using Expo Go for fast iteration and explains how to use development builds for full native capabilities on Met Horizon OS.

_By Jan Jaworski, Software Engineer @ Callstack · Published 2025-10-22 · Category: Virtual Reality_

Do you want to get started with developing React Native apps using Expo for Meta Quest?

Good news! If you already know how to make React Native apps, you’re on the right track to build apps for Meta Horizon OS. If not, this guide will show you everything that you need.

> Read other articles in the React Native for Meta Quest series:
> 
> - [Learn Once, Write for VR: A React Native Showcase for Meta's HorizonOS ](https://www.callstack.com/blog/learn-once-write-for-vr-a-react-native-showcase-for-metas-horizonos)
> - [Using Expo Libraries on HorizonOS: A Guide to Compatibility ](https://www.callstack.com/blog/using-expo-libraries-on-horizon-os-a-guide-to-compatibility)
> - [What You Can Build With React Native on Meta Quest ](https://www.callstack.com/blog/what-you-can-build-with-react-native-on-meta-quest)
> - [How to Release a React Native App on the Meta Horizon Store ](https://www.callstack.com/blog/how-to-release-a-react-native-app-on-the-meta-horizon-store)
> - [Mobile vs. VR: Key Differences in Features, UI, and UX ](https://www.callstack.com/blog/mobile-vs-vr-key-differences-in-features-ui-and-ux)

## Prerequisites

To get up to speed quickly, we’ll start with [Expo Go](https://expo.dev/go). It’s a sandbox that allows you to create apps without configuring an entire development setup. In later sections, we will also showcase more advanced setups so you can use the full capabilities of the React Native ecosystem.

If you’ve developed React Native apps before, you can use the same development setup. If you don’t have it yet, everything you need to get started is listed below.

First, install [Node](https://nodejs.org/en/download) on your machine.

Next, install a code editor like [VSCode](https://code.visualstudio.com/), [Zed](https://zed.dev/), or another of your choice. You can also try [Expo Snack](https://snack.expo.dev/) in your browser, which will allow you to skip the steps above, if you want to try it out even faster.

At the time of writing this article, you’ll need a Meta Quest device to run your apps. The good news is that Meta is working on the [Meta Spatial Simulator](https://youtu.be/hJMkIw7TxmU?si=A3f-xMimwkb2hV0g&t=846). It will allow you to build and test 2D apps without physical hardware. Its planned release is for this year, so look out for an announcement.

The last step in basic setup is to install the Expo Go app from the [Meta Horizon Store.](https://www.meta.com/experiences/expo-go/25322546364000780/)

Your browser does not support the video tag.

Now, you should be ready to create your first app.

## Creating an app with Expo Go

### Setting up the environment

Open your terminal and run `npx create-expo-app@latest` to create a new Expo app.

Follow printed instructions and run `npx expo start`.

### Run Expo on Meta Quest

Open Expo Go on your Meta Quest. Approve all camera access permissions and scan the QR code displayed in the terminal on your laptop.

![Approve access to virtual cameras, so you can scan QR code displayed by Expo Go](https://www.callstack.com/assets/68f8c6eabee57c252e48ab44_Approve-access-to-virtual-cameras.webp)

_Approve access to virtual cameras, so you can scan QR code displayed by Expo Go_

![Approve access to virtual cameras, so you can scan QR code displayed by Expo Go](https://www.callstack.com/assets/68f8c5c2180d27cd5ce3fa99_Approve-access-to-headset-cameras.webp)

_Approve access to virtual cameras, so you can scan QR code displayed by Expo Go_

Scan the QR code displayed in your terminal to open the app.

Your browser does not support the video tag.

Your app should now open in a new window. You’re ready to develop it further and test changes on Meta Quest.

Congrats! Your app is now running on Meta Quest. Let’s test it by making some changes.

![Your app on Meta Quest](https://www.callstack.com/assets/68f8c6060ddf16896531ddf2_Your-app-on-Meta-Quest.webp)

### Make the first edit in your app

Now, let’s make some changes to the sample app you just created. Open your project in your code editor and familiarize yourself with the structure of the app.

Let’s open `app/(tabs)/index.tsx` and change “Welcome!” to “Welcome, Meta Horizon OS!”. Save your changes and check them in your Meta Quest. You should see your change being immediately reflected in your app immediately.

![](https://www.callstack.com/assets/68f8d8b7aeed2d04e20d55f7_Section-we'll-be-changing.webp)

_Section that we will be changing_

![This is how it should look after our change](https://www.callstack.com/assets/68f8d8ee8c8ae27ee52f42b2_How-it-should-look-after-change.webp)

_This is how it should look after our change_

You’re ready to build awesome apps for Meta Quest!

![](https://www.callstack.com/assets/68f8c65849c881d082c5b8d7_Ready-for-Meta-Quest.webp)

## Important callouts to know about Meta Horizon OS apps

When developing apps for VR devices, you need to take into account some differences from mobile apps. Here’s a list of the most important things that you should pay attention to when developing your app:

- **Permissions:** On Meta Horizon OS, follow the same pattern as on Android, with few notable exceptions. Official documentation has up to date list of [prohibited](https://developers.meta.com/horizon/resources/permissions-prohibited/) and [extended](https://developers.meta.com/horizon/documentation/native/native-spatial-data-perm/) set with XR-specific permissions. Some of them will require [review](https://developers.meta.com/horizon/resources/permissions-review-required/) and approval.
- **Design:** Apps on Meta Quest can be [moved and resized](https://developers.meta.com/horizon/design/windows/) by the user. Your app [design](https://developers.meta.com/horizon/design/mr-design-guideline/) has to take this into account and be responsive to the layout changes. [Hit targets, navigation, and typography also have different requirements.](https://developers.meta.com/horizon/documentation/android-apps/design-requirements)
- **Compatibility:** Not all Android libraries are compatible with Meta Horizon OS. This includes missing support for Google Mobile Services, Firebase, and other. For the full list consult [official documentation](https://developers.meta.com/horizon/documentation/android-apps/making-apps-compatible-overview).

## Going further with the development build

Expo Go is a great way to start, but if you want to dive deeper and use Expo and the React Native ecosystem's full potential, you’ll need to use a [development build](https://docs.expo.dev/develop/development-builds/introduction/).

To be able to use it, you’ll have to do additional setup. Expo documentation includes [step-by-step instructions](https://docs.expo.dev/get-started/set-up-your-environment/?mode=development-build&buildEnv=local) on what you need to do. Follow the setup for Android devices.

After you’ve finished setting up your developer environment, you’ll also need to install the Meta Horizon app on your phone and [enable developer mode](https://developers.meta.com/horizon/documentation/native/android/mobile-device-setup/). This will allow you to connect your VR Headset via ADB to enable debugging. In the future, it will also help you manage and publish your app to the Meta Horizon Store.

With everything in place, start your development server again and make sure you use “development build.” You can verify this in your terminal.

![USB debugging is needed when developing Expo apps using development build](https://www.callstack.com/assets/68f8c66a62e728a3845f596a_Development-build.webp)

_Make sure you see “development build”, if not press “s” to switch to it_

Confirm the prompt to “Allow USB debugging” on your Meta Quest.

![](https://www.callstack.com/assets/68f8c683e6183e9e608ecf91_USB-debugging.webp)

_USB debugging is needed when developing Expo apps using development build_

## Conclusion and next steps

That’s it! You’re now ready to create apps for Meta Quest using Expo! As you can see, there are many similarities between creating apps for Meta Horizon OS and mobile apps using Expo. You should be able to quickly get up to speed and be productive in this new environment.

In the next article, we’ll explore popular libraries, common use cases, and differences with other platforms that you might want to consider.
