Develop

Get Started with Meta XR Simulator

Updated: Sep 3, 2026
Standalone XR Simulator
This documentation covers the newly released Standalone XR Simulator. Older versions of the Meta Core SDK may not be fully compatible. If you encounter issues, remove the 'com.meta.xr.simulator' package from your project and use the toggle in Meta XR Simulator to set it as the OpenXR active runtime. For legacy usage, refer to the Archived XR Simulator documentation.
The Meta XR Simulator is an Extended Reality (XR) runtime for developing and testing XR applications on your development machine.
The simulator implements OpenXR and integrates with supported engine and graphics API configurations. Your application must use the OpenXR features and extensions supported by Meta XR Simulator. The simulator includes a predefined input mapping schema and a user interface that displays information about how the runtime composites the final view and simulates input.

Choose which device to simulate

The simulator presents one device to your application at a time. Connect an application first: the Device control cannot list profiles until a runtime session is active. Then select the device in the Inputs panel, under Device info > Device. The default is Meta Quest 3. For the list of devices you can pick, see Meta XR Simulator.
The device you select changes what your application sees:
  • Field of view, recommended render resolution, and the refresh rates on offer
  • The supported IPD range
  • Which OpenXR extensions the runtime advertises, so a feature present on one device is absent on another
  • Which input options appear. An input mode available on one device is absent on another
  • Passthrough color mode
Test against the device you intend to ship on. A build that runs on one profile does not prove it runs on another.
Stop and restart your application after you change Device. In an editor, stop and re-enter Play mode. The profile is captured when your application creates its OpenXR instance, so restarting is the reliable way to pick up the change.

Prerequisites

Meta XR Simulator works with a supported OpenXR application built in Unity. See Application requirements for the OpenXR versions, graphics APIs, and extensions it supports. To fully configure your Unity project for Meta XR development, complete the project setup steps.

Hardware requirements

  • Development machine running one of the following:
    • Windows 10+ (64-bit)
    • macOS 10.10+ (ARM only)
Additional macOS requirements
On macOS, your Unity project needs the Unity OpenXR Plugin v1.13.0 or later.

Installation

Meta XR Simulator is a standalone application. Use the following links to view the release notes and download the installer for your operating system:

Activate Meta XR Simulator in Unity

The menu and toolbar controls below come from the Meta XR Core SDK. If your project does not use that SDK, use global activation instead.
Activate the XR Simulator in one of two ways:
  • Click its icon next to the Play button in Unity’s top toolbar.
  • Select Window > Meta > Meta XR Simulator > Activate.
The console logs [Meta XR Simulator is activated] on success. Activate is greyed out when the simulator is not installed, or when it is already active.
Meta XR Simulator icon in Unity
When you set the simulator as the OpenXR runtime through Unity, the runtime toggle in the simulator UI does not show the simulator as active, even when it is connected. Unity sets the runtime for the editor process only, and the toggle reports the system-wide setting.

Deactivate Meta XR Simulator

To go back to development on your physical headset, deactivate the simulator in Unity by selecting Window > Meta > Meta XR Simulator > Deactivate. Select Window > Meta > Meta XR Simulator > Status to check the current state.
Between runs, exit Play mode and leave the simulator active. The simulator window stays open, so the next run starts faster.

Input simulation

Meta XR Simulator maps input from your development machine to a simulated Meta Quest headset, controllers, and hands. Sources are:
  • Keyboard and mouse input
  • An Xbox controller
  • Meta Quest Touch controllers
To select which Meta Quest input you want to simulate:
  1. In the Meta XR Simulator UI, open the Inputs panel.
  2. Under Input settings, choose a source for Left input and Right input.
To see how your development machine inputs map to Meta Quest, open the Input bindings panel. It shows the keys and buttons assigned to each action, and you can reassign them.
For more information about input mapping keyboard, mouse, and Xbox game controllers, see Simulate User Input from Keyboard, Mouse, and Xbox Game Controllers.
For information about mapping input from Meta Quest Touch controllers, see Simulate User Input from Meta Quest Touch Controllers.

Example

Suppose you built a Horizon OS app in Unity that uses Meta Quest Touch controllers. You want to verify small changes without putting the headset on and taking it off each time. Test the app in Meta XR Simulator and keep using your Touch controllers as input.

Example prerequisites

Enable controller data forwarding

Follow Simulate User Input from Meta Quest Touch Controllers to connect your controllers.

Test out your app

The Meta XR Simulator responds to controller movements and button presses. You can use your keyboard or mouse to move the camera around.
To return to simulated input, select Disconnect Controllers under Inputs > Quest controllers.

Deprecated flows

The Meta XR Simulator does not require any additional packages in Unity if your project uses OpenXR. The Meta XR Simulator package in the Unity asset store is now deprecated.

Learn more

To learn more about Meta XR Simulator and its functionality, see Meta XR Simulator Overview.