Meta XR Simulator is a lightweight Extended Reality (XR) runtime built to speed up XR application development and testing on your development machine.
The simulator uses the same XR API specification as mobile and PC VR runtimes, allowing it to integrate with your engine’s IDE without modification. The simulator includes a predefined input mapping schema and a user interface that provides information on how the runtime composites the final view and simulates input.
This page provides a brief overview of Meta XR Simulator and basic installation and usage instructions.
Standard Installation locations
Simulator binaries are not part of the Unity package, they are fetched dynamically. The standard install location is:
These locations will be referred to as <INSTALL_DIR> for the rest of this document.
Features
Unreal Engine support
UE5 (primary)
UE4 (partial)
Note: Meta XR Simulator is supported in SDK v57 release and above. To try the simulator in UE4 or previous releases of UE5, see the Getting Started instructions for Native App Development for Meta XR Simulator.
Graphic API support
DX11
DX12
Vulkan (limited)
Reference compositor
Projection Layer
Quad layer
PassthroughFB layer
Cylinder layer
Meta XR device profiles
Quest 2
Quest Pro
Quest 3
Input simulation
Quest Touch Controller
Quest Pro Controller
Quest Plus Controller
Session capture
Session Capture allows for the recording and replaying all inputs and poses. It also allows for taking snapshots for future automation and regression checking.
Setup
If SDK version v76 or above skip this step. Download the latest Meta XR Simulator. Unzip it and copy content to <INSTALL_DIR>.
Create a VR project. You can create a VR Template project or create one from scratch by following Create Quest App.
If SDK version v76 or above skip this step. Go to Project Settings > Plugins > Meta XR. Set Meta XR Simulator JSON File to <INSTALL_DIR>\meta_openxr_simulator.json. Note that this setting is only needed once for each project.
If SDK version v72 to v74. Download Synthetic Environments from here. Unzip it and copy content to somewhere for easy access, like C:\UE5\MetaXrSES. Set Meta XR Synthetic Environments to folder where you have the synthetic environments unzipped (C:\UE5\MetaXrSES).
Still in Project Settings > Plugins > Meta XR, make sure to use Oculus OVRPlugin + OpenXR backend as the XR API.
In Project Settings, go to Platforms > Windows and make sure DirectX 11 or DirectX 12 is the Default RHI. Vulkan support is limited at this moment.
Enable Meta XR Simulator by checking the Meta XR Simulator toggle, under the Meta XR Simulator dropdown on the main toolbar. Run on an instance of SES (Synthetic Environment Server) if passthrough is used in the project.
Click VR Preview to launch Meta XR Simulator.
Examples
Scene sample
Get the Scene Sample project by downloading this GitHub project and unzipping it. The Scene sample project can be found under /Samples/Oculus/Scene.
Double click Scene.uproject to open the project.
Start Launch Living Room for SES as detailed in the instructions above. You should see a room show on the Simulation window.
Enable Meta XR Simulator as in the above picture.
Repeat steps 6, 7, and 8 from the Setup section above.
You can also view other layers by clicking Graphics Details > Layer Details > Layer 1 or Layer 0. For testing, you can use your computer keyboard key u to drop balls that interact with the scene.
Click Stop Server when you are done with SES.
Spatial Anchor sample
Get the Anchor Sample project by downloading this GitHub project and unzip it. The Spatial Anchor sample project can be found under /Samples/Oculus/SpatialAnchorsSample.
Double click SpatialAnchorsSample.uproject to open the project.
Start Launch Living Room for SES as detailed in the instructions above. You should see a room show on the Simulation window.
Enable Meta XR Simulator as in the above picture.
Repeat steps 6, 7, and 8 from the Setup section above.
You can also view other layers by clicking Graphics Details > Layer Details > Layer 1 or Layer 0.
Use the y key to select Create Anchor.
Use the t key to create anchors.
Use the y key to select Select Anchor on the menu.
Then move the controller to point to a created anchor.
Click t key to open the sub menu, and click b key again to save the anchor
If you want to erase an anchor, you can click y to switch menu to Erase Anchor and b to execute.
Restart the game. Use y key to switch to Load Anchors and t key to execute. You will see the saved anchors.