WebXR

WebXR Device API is a Web application programming interface (API) that describes support for accessing augmented reality and virtual reality devices, such as the HTC Vive, Oculus Rift, Oculus Quest, Google Cardboard, HoloLens, Apple Vision Pro, Magic Leap or Open Source Virtual Reality (OSVR), in a web browser. The WebXR Device API and related APIs are standards defined by W3C groups, the Immersive Web Community Group and Immersive Web Working Group. While the Community Group works on the proposals in the incubation period, the Working Group defines the final web specifications to be implemented by the browsers.

WebVR was an experimental Web API that was only capable of representing virtual reality and was superseded by WebXR.

History
WebVR API was first conceived in spring 2014 by Vladimir Vukićević from Mozilla. The API's contributors include Brandon Jones(Google), Boris Smus and others from the Mozilla team. On March 1, 2016, the Mozilla VR team and the Google Chrome team announced the version 1.0 release of the WebVR API proposal. The resulting API refactoring brought many improvements to WebVR.

The latest WebXR Device API Working Draft was last published in February 2022. The editors of the specification currently are from Google and Meta. Other members from Mozilla, Microsoft, Samsung Electronics and Apple, as well as various startups and invited experts have input in the future of the specification. All of the discussions of the specifications are public on GitHub.

In 2018, the WebXR Device API superseded WebVR, being designed for both augmented reality, virtual reality devices and the possible future realities and devices. WebVR was implemented in Firefox and Chromium-based browsers before being deprecated and removed. On September 24, 2018, the Immersive Web Working Group became official.

Design
The WebXR Device API exposes a few new interfaces (such as XRView, XRPose ) that allow web applications to present content in virtual reality and augmented reality, by using WebGL with the necessary camera settings and device interactions (such as controllers or point of view).

Support
WebXR Device API (Candidate Recommendation Draft) is currently supported in the stable versions of Edge and Chrome 79+, Chrome for Android 79+, Opera 66+, Opera Mobile 64+, Samsung Internet 12+, and Oculus Browser. WebXR is supported in Safari for visionOS on the Apple Vision Pro mixed reality headset.

Similar technologies
Although WebXR is unique as an API, it has similarities to native APIs in the same space such as OpenXR, ARCore, and ARKit.