Developing for Head-Mounted Experiences with OpenXR

Develop on head-mounted AR and VR devices with OpenXR in Unreal Engine.

Choose your operating system:

Windows

macOS

Linux

OpenXR is a royalty-free, open standard that provides high-performance access to XR platforms and devices. Epic Games is one of the founding members of the OpenXR Working Group, along with the Khronos Group and industry partners. This multi-company group is working to solve XR fragmentation with a cross-platform standard.

With OpenXR, you can create an immersive experience in Unreal Engine that can run on any system that supports the OpenXR APIs. Currently, OpenXR in Unreal Engine only supports head-mounted devices. To develop XR projects for handheld devices, refer to Developing for Handheld Augmented Reality Experiences.

The openxr logo

OpenXR and the OpenXR logo are trademarks of the Khronos Group Inc.

This page contains links to documentation about the devices supported by OpenXR and how to develop for head-mounted devices with OpenXR in Unreal Engine.

OpenXR Runtimes

Each platform has an OpenXR runtime, which is the implementation of the OpenXR APIs for that platform. This page describes all the supported OpenXR runtimes and how to set up your projects to work with them.

Plugin Priority

Your Unreal Engine project can ship with the following plugins enabled: OpenXR, Oculus, SteamVR, and Windows Mixed Reality. When you launch your app, the list of plugins is checked in order of the plugin's priority from highest to lowest. The first plugin in the list, whose runtime the app can connect to, is selected.

The following is the current order of plugin priority in Unreal Engine, from highest to lowest:

  • Oculus

  • OpenXR

  • Windows Mixed Reality

  • SteamVR

Extending OpenXR in Unreal Engine

The OpenXR plugin in Unreal Engine supports extension plugins so you can add functionality to OpenXR without relying on engine releases. There are OpenXR extension plugins included in the engine release.

The plugins currently available in Unreal Engine to extend the OpenXR plugin include:

  • OpenXRHandTracking

  • OpenXREyeTracker

  • XRVisualization

  • OpenXRMsftHandInteraction

  • Oculus OpenXR

  • HP Motion Controller

You can also install extension plugins from the Marketplace or make your own.

Supported Platforms

These pages provide information on the platforms and head-mounted devices that support OpenXR in Unreal Engine, and how to deploy your applications to them.

Developing with OpenXR

After setting up your OpenXR runtime and XR device for development, follow these guides to develop with OpenXR on your device.