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.
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.
- 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.
Meta XR Simulator is a standalone application. Use the following links to view the release notes and download
the installer for your operating system:
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.
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.
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.
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:
- In the Meta XR Simulator UI, open the Inputs panel.
- 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.
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.
Enable controller data forwarding
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.
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.