Facebook now recommends game engines support Oculus headsets via the OpenXR standard, not its proprietary SDK (software development kit).
Most VR games are made with the Unity and Unreal game engines. Unreal added support for OpenXR this year, and Unity plans to do the same by next year. Earlier this week, Facebook added a latency-reducing option called Phase Sync to the Unity & Unreal integrations. That same feature won’t be available to other engines via the Oculus SDK. According to Facebook:
…Phase Sync will be the default Vr Timing management method in our OpenXR implementation. Since we have rolled out our formal OpenXR support, we encourage native developers to switch over and test the feature.
This marks the first Oculus feature available on OpenXR but not the native SDK. On Twitter, a Facebook engineer told Virtual Desktop developer Guy Godin that OpenXR is “the future”, and to not be surprised if further features are OpenXR-only.
Valve made an announcement to the same effect back in June, and Microsoft followed back in October.
Facebook started accepting OpenXR submissions to it Oculus Store back in July. It looks like it now intends to make it the default. There’s no word on any plans to deprecate the existing Oculus SDK.
What Is OpenXR?
An API (Application Programming Interface) allows software to interact with other software or hardware. VR developers used APIs like Facebook’s Oculus and Valve’s OpenVR to build apps- the API is part of an SDK (software development kit), and informally these terms are often used interchangeably.
The problem with the Oculus API is apps developed with it only work on Oculus hardware- though hacks could make that software run on other systems. In addition, for developers using a custom engine, there are actually two separate APIs between Quest and Rift. This means that if a developer wanted to support all VR headsets, they needed to use multiple APIs. This can be time consuming and increase complexity.
OpenXR is an open standard for VR/AR. It was developed by Khronos, the same non-profit industry consortium managing OpenGL. The working group includes the major VR companies such as Facebook, Sony, Valve, Microsoft, HTC, NVIDIA, and AMD.
OpenXR is not the same as OpenVR. That was Valve’s API for SteamVR. OpenVR works on all PC VR headsets, but it doesn’t support Android headsets like Quest and (due to Facebook’s policies) cannot be used in Oculus Store apps.