Unity supports many interfaces to display images to HMDs and receive inputs (position, controllers, etc). Most are based on the OpenXR standard, and some common ones are OpenVR (SteamVR) and Oculus.
What's the difference?
In almost every case, OpenXR is the best choice. It is not a runtime itself; it is a standard all major parties support. OpenVR(SteamVR), Oculus, Windows Mixed Reality Portal, and Varjo are some of the major supporters. By choosing OpenXR in Unity's XR Plugin Management section of Player Settings you can use any of these VR Runtimes.
How do we support OpenXR?
We don't support OpenXR directly; instead, Unity provides a high-level API for common VR features from various runtimes. This allows general support across every HMD that Unity supports.
There are some alternatives (such as OpenVR's input) that are listed in the Scene Setup Window. Some SDKs provide additional features outside of OpenXR's framework and need to be enabled explicitly. Eye Tracking is an example of a feature like this.
Some additional runtimes work alongside Unity to provide eye tracking data.
- The SRanipal Runtime is required for eye tracking from the Vive Pro Eye
- The Omnicept Runtime is required for eye tracking from the HP Reverb G2 Omnicept Edition
- Eye tracking with Varjo HMDs is implemented through OpenXR and does not need any additional SDKs or runtimes. Using the full eye tracking frequency requires the Varjo XR SDK
Make sure to import and configure the appropriate SDKs into Unity, available from the appropriate developer portals.
What are the legacy SDKs?
We continue limited support for many HMDs that we see less frequently. These HMDs generally operate through one of the OpenXR providers listed above (OpenVR, Oculus, Windows MR Portal) but offer some additional functionality we support (in many cases eye tracking or recording controller inputs).
If you have a question or any feedback about our documentation please use the Intercom button in the lower right corner of any web page.