From Wikipedia, the free encyclopedia
Developer(s)Valve Corporation
Written inC++, C#, C
Included withSteamVR
TypeVirtual reality
LicenseBSD 3-Clause "New" or "Revised" License

OpenVR is a software development kit (SDK) and application programming interface (API) developed by Valve for supporting the SteamVR[1][2] and other virtual reality headset devices.[3][4] The SteamVR platform uses it as the default application programming interface and runtime.[5] It serves as the interface between the virtual reality hardware and software[6] and is implemented by SteamVR.[7]

Although OpenVR is the default SDK for HTC Vive, it was developed to have multiple vendor support.[5] For instance, a developer can design OpenVR-based trigger button functions for controllers of Oculus Rift or Windows MR because these systems are both supported by the SDK.[8]

Valve has announced that they will be cooperating with the Open Source Virtual Reality project,[9] although the extent of the cooperation is unclear.[10]

Initial Release[edit]

OpenVR SDK was released to the public on 30 April 2015 by Valve, for developers to develop SteamVR games and software. It provides support for the HTC Vive Developer Edition, including the SteamVR controller and Lighthouse. OpenVR SDK was an important step towards the release of the first HTC Vive Developer Edition.

The OpenVR SDK has replaced the API that was previously available in steamvr.h in the Steamworks SDK. The old API will continue to receive support indefinitely, but applications that require any of the new features must switch to the new SDK.

A number of new interfaces were added, and existing interfaces received new methods. Details can be found in the OpenVR API documentation.

With the OpenVR SDK, software can now be connected to SteamVR hardware. The SDK can be downloaded from the OpenVR GitHub page. It supports all SteamVR products.

The SteamVR Unity Plugin and native SteamVR support in Unreal 4.8 have been implemented to support Unity in addition to the OpenVR SDK support. Both were available shortly after the initial release of OpenVR.

Release Notes[edit]

Changes from the SteamVR interface in SteamWorks SDK 1.31 to Initial release of OpenVR include[11]

  • IHmd is now IVRSystem
  • Added support for multiple tracked objects.
  • Moved fetching of various values about HMDs and other tracked devices into properties.
  • Added support for providing applications with models and textures for tracked devices.
  • Clarified and changed tracking prediction.
  • Added origin to calls that return poses.
  • Renamed IVRSystem::ZeroTracker to IVRSystem::ResetSeatedZeroPose
  • Added angular velocity and velocity to the data returned with a tracked device’s pose.
  • CAPI and C# bindings for OpenVR interfaces added to headers.
  • Added IVRSystem::PollNextEvent to the API.
  • Added new interface IVRChaperone to query chaperone hard and soft bounds.
  • IVRSystem::GetHiddenAreaMesh. It returns the stencil mesh to use to minimize pixel rendering for the current HMD.
  • Removed GetIPD. Use the property Prop_UserIpdMeters_Float instead.
  • Added IVRCompositor interface

See also[edit]

  • OSVR, an open-source library with similar goals by Sensics, Razer and a community of partners and contributors
  • OpenXR, an open, royalty-free standard for access to virtual reality and augmented reality platforms and devices


  1. ^ Wawro, Alex (2015-04-30). "Gamasutra - Valve launches new OpenVR SDK to expand SteamVR development". Game Developer. Retrieved 2021-12-26.
  2. ^ Smith, Peter (2015-05-01). "Valve releases OpenVR SDK to the masses, says there's still time to apply for a free HTC Vive Development unit". ITworld. Archived from the original on 2017-05-10. Retrieved 2021-12-26.
  3. ^ Road to VR (20 July 2015). "Making Valve's OpenVR Truly Inclusive for VR Headsets - Road to VR". Road to VR.
  4. ^ Takahashi, Dean (2015-04-30). "Valve launches OpenVR dev kit for virtual reality hardware makers". VentureBeat. Retrieved 2021-12-26.
  5. ^ a b Macdonald, Mickey (2018). Mastering C++ Game Development: Create professional and realistic 3D games using C++ 17. Birmingham: Packt Publishing Ltd. p. 308. ISBN 9781788629225.
  6. ^ Egger, Jan (2017-03-12). "HTC Vive MeVisLab integration via OpenVR for medical applications". PLOS ONE. 12 (3): e0173972. arXiv:1703.07575. Bibcode:2017PLoSO..1273972E. doi:10.1371/journal.pone.0173972. PMC 5360258. PMID 28323840.
  7. ^ Lang, Ben (2019-01-08). "HTC Confirms Vive Cosmos Will Support OpenVR/SteamVR". Road to VR. Retrieved 2019-07-18.
  8. ^ Linowes, Jonathan (2018). Unity Virtual Reality Projects: Learn Virtual Reality by developing more than 10 engaging projects with Unity 2018, 2nd Edition. Birmingham: Packt Publishing Ltd. p. 135. ISBN 9781788477185.
  9. ^ Porter, Matt (2015-05-19). "Valve's OpenVR Signs Up to Razer's Virtual Reality Standard". IGN.
  10. ^ Smith, Peter (2015-05-19). "Report: Valve OpenVR joins OSVR (open source virtual reality) initiative". ITworld. Archived from the original on 2017-04-09. Retrieved 2021-12-26.
  11. ^ "Release Initial OpenVR SDK Release · ValveSoftware/openvr". GitHub. Retrieved 2022-10-19.

External links[edit]