OpenXR

OpenXRarrow-up-right is an open, royalty-free standard for APIs that provide XR applications with access to XR platforms and devices. This is implemented in the XR runtimearrow-up-right software supplied by the manufacturer of XR hardware and in the XR software application when it is developed (e.g. via a game engine plugin). Support for OpenXR is potentially useful for preservation purposes β€” it improves compatability between XR software and XR hardware, allowing modifications to be made, .

OpenXR is developed by a working group managed by the Khronos Group consortium, who describe it as follows:

OpenXR is an API (Application Programming Interface) for XR applications. XR refers to a continuum of real-and-virtual combined environments generated by computers through human-machine interaction and is inclusive of the technologies associated with virtual reality (VR), augmented reality (AR) and mixed reality (MR). OpenXR is the interface between an application and an in-process or out-of-process "XR runtime system", or just "runtime" hereafter. The runtime may handle such functionality as frame composition, peripheral management, and raw tracking information.

Optionally, a runtime may support device layer plugins which allow access to a variety of hardware across a commonly defined interface.

β€” https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.htmlarrow-up-right

Up until the arrival of OpenXR, support for each manufacturers API would have to be built into the XR applications if they were to be used. OpenXR attempts to solve the problem of compatibility between XR applications and XR hardware. Image source: https://www.khronos.org/openxr/arrow-up-right.

OpenXR attempts to solve the problem of compatibility between XR applications and XR hardware. Image source: https://www.khronos.org/openxr/.

Using OpenXR

In order to make use of OpenXR, you need to:

  1. Make use of an XR hardware platform which supports it β€” see XR Hardware Support below.

  2. Develop XR software which supports it (or add this to the software) β€” see XR Software Support below.

XR Hardware Support

The Khronos Group report arrow-up-rightthat the following XR runtimes/platforms are compliant with OpenXR:

XR Software Support

The following game engines have native support for OpenXR:

  • Godot: 4.0+ (built-in); 3.2-3.6 (via plugin)

  • Unity: 2020.2+ (via pluginarrow-up-right)

  • Unreal Engine 4: 4.27 (via plugin); 4.24-4.26 (via beta plugin)

  • Unreal Engine 5: 5.0+ (via plugin)

As of Chromium 81, any Chromium-based web browser (e.g. Chrome, Edge) will use OpenXR as its default backend for WebXR content.

Last updated