The Oculus PC SDK includes the resources necessary to use the OpenXR API for native C/C++ development of VR apps. OpenXR offers an alternate development path that allows developers to create portable code that can be used on devices from multiple vendors.
About OpenXR
OpenXR is a royalty-free open standard from the Khronos Group created for the development of high-performance VR applications that run on multiple platforms. OpenXR aims to simplify VR development by enabling developers to reach more platforms while reusing the same code. To read more about OpenXR, see the Khronos OpenXR webpage.
Product is based on a published Khronos specification and is expected to pass the Khronos Conformance Process when available. Current conformance status can be found at https://www.khronos.org/conformance/adopters.
OpenXR for Native C/C++ PC development
To begin using OpenXR for Oculus PC development, developers must meet the following requirements:
Oculus PC runtime v19 or later.
Use the OpenXR headers and loader from the Khronos Group’s OpenXR-SDK GitHub page. Use the Windows 32-bit or 64-bit loader build instructions to match your application’s configuration.
Additional development resources, such as the hello_xr sample code, can be found at the Khronos Group’s OpenXR-SDK and OpenXR-SDK-Sources GitHub pages.
Known Issues
Please note that there are some known issues with this release. Fixes for the following will go out in the next release:
The XR_EXT_debug_utils extension has not yet been implemented. App developers should still use the extension, but it will not retrieve detailed messages from the runtime.
Action spaces continue to track even when isActive == false, which is conformant but misaligned with other runtimes. This will cause issues if relying on on tracking state vs. isActive for rendering hands.
Parent interaction profile bindings are missing for non-natively supported profiles. Supported profiles are