OpenXR is the open standard API for VR/AR. It was developed by a working group managed by Khronos, a non-profit industry consortium. The working group includes the major VR companies such as Facebook, Valve, Microsoft, NVIDIA, AMD, HTC, Google, Unity, and Epic.
The API allows developers to write code which runs on any and all VR headsets. Until now, developers have had to write different code for different VR headsets, depending on the headset’s native runtime platform.
When OpenXR 0.9 was released back in March, Facebook stated that it planned to support it on Rift and Quest “later this year“.
That support hasn’t arrived on Quest yet, and hasn’t been “officially” released on Rift. However, a message was posted on an open Khronos slack from a user purporting to be a Facebook employee. This message contains the instructions for how to activate the “preview release which is fairly complete”:
Rift Public Test Channel has our preview release which is fairly complete, we don't yet ship the .json manifest but you can create one and either point the XR_RUNTIME_JSON environment variable at it or set the HKLM\SOFTWARE\Khronos\OpenXR\1\ActiveRuntime reg key. The .json should look like (for x64):
"name": "Oculus OpenXR",
"library_path": "c:\\Program Files\\Oculus\\Support\\oculus-runtime\\LibOVRRT64_1.dll"
substitute LibOVRRT32_1.dll for the /reg:32 version.
The support is currently available on the Public Test Channel of the Oculus Rift software, which users can opt into with one click.
We added the registry key described in the message and were able to successfully link OpenXR to the Oculus software. When launching an OpenXR test app, the Oculus app launched and recognized it as a VR app.
We reached out to Facebook, and spokesperson confirmed that the company has “started to implement support” in the PTC build. They also told us they’ll have more to share on the topic soon.
A few years ago, OpenXR seemed like a distant dream. But now it’s here and soon developers will be able to develop VR apps without worrying about what hardware they’re supporting. This should shorten the time taken to develop cross platform VR apps, and may encourage developers to jump into making VR software who were originally put off by proprietary APIs.
Correction: An earlier version of this post referred to the incorrect version of OpenXR that was approved in March. It is now correct.