BASELINE NowYouCanUse.com
Limited Availability WebXR

WebXR

The navigator.xr API represents the browser's virtual reality or augmented reality system. You can use to request a WebXR session.
Baseline Status: This feature is currently Limited (not yet Baseline). Latest engine implementation shipped on Jan 15, 2020.
Desktop Browser Engine Support
Google Chrome
79
Supported
Mozilla Firefox
—
Unsupported
Apple Safari
—
Unsupported
Microsoft Edge
79
Supported
Mobile Browser Engine Support
Chrome Android
79
Firefox Android
—
Safari iOS
—
Specifications and References
MDN Browser Compat Data Keys:
api.Navigator.xr ↗ api.WebGL2RenderingContext.makeXRCompatible ↗ api.WebGLRenderingContext.makeXRCompatible ↗ api.XRBoundedReferenceSpace ↗ api.XRBoundedReferenceSpace.boundsGeometry ↗ api.XRFrame ↗ api.XRFrame.getPose ↗ api.XRFrame.getViewerPose ↗ api.XRFrame.session ↗ api.XRInputSource ↗ api.XRInputSource.gripSpace ↗ api.XRInputSource.handedness ↗ api.XRInputSource.profiles ↗ api.XRInputSource.targetRayMode ↗ api.XRInputSource.targetRaySpace ↗ api.XRInputSourceArray ↗ api.XRInputSourceArray.@@iterator ↗ api.XRInputSourceArray.entries ↗ api.XRInputSourceArray.forEach ↗ api.XRInputSourceArray.keys ↗ api.XRInputSourceArray.length ↗ api.XRInputSourceArray.values ↗ api.XRInputSourceEvent ↗ api.XRInputSourceEvent.XRInputSourceEvent ↗ api.XRInputSourceEvent.frame ↗ api.XRInputSourceEvent.inputSource ↗ api.XRInputSourcesChangeEvent ↗ api.XRInputSourcesChangeEvent.XRInputSourcesChangeEvent ↗ api.XRInputSourcesChangeEvent.added ↗ api.XRInputSourcesChangeEvent.removed ↗ api.XRInputSourcesChangeEvent.session ↗ api.XRLayer ↗ api.XRPose ↗ api.XRPose.angularVelocity ↗ api.XRPose.emulatedPosition ↗ api.XRPose.linearVelocity ↗ api.XRPose.transform ↗ api.XRReferenceSpace ↗ api.XRReferenceSpace.getOffsetReferenceSpace ↗ api.XRReferenceSpace.reset_event ↗ api.XRReferenceSpaceEvent ↗ api.XRReferenceSpaceEvent.XRReferenceSpaceEvent ↗ api.XRReferenceSpaceEvent.referenceSpace ↗ api.XRReferenceSpaceEvent.transform ↗ api.XRRenderState ↗ api.XRRenderState.baseLayer ↗ api.XRRenderState.depthFar ↗ api.XRRenderState.depthNear ↗ api.XRRenderState.inlineVerticalFieldOfView ↗ api.XRRigidTransform ↗ api.XRRigidTransform.XRRigidTransform ↗ api.XRRigidTransform.inverse ↗ api.XRRigidTransform.matrix ↗ api.XRRigidTransform.orientation ↗ api.XRRigidTransform.position ↗ api.XRSession ↗ api.XRSession.cancelAnimationFrame ↗ api.XRSession.enabledFeatures ↗ api.XRSession.end ↗ api.XRSession.end_event ↗ api.XRSession.inputSources ↗ api.XRSession.inputsourceschange_event ↗ api.XRSession.renderState ↗ api.XRSession.requestAnimationFrame ↗ api.XRSession.requestReferenceSpace ↗ api.XRSession.select_event ↗ api.XRSession.selectend_event ↗ api.XRSession.selectstart_event ↗ api.XRSession.squeeze_event ↗ api.XRSession.squeezeend_event ↗ api.XRSession.squeezestart_event ↗ api.XRSession.updateRenderState ↗ api.XRSession.visibilityState ↗ api.XRSession.visibilitychange_event ↗ api.XRSessionEvent ↗ api.XRSessionEvent.XRSessionEvent ↗ api.XRSessionEvent.session ↗ api.XRSpace ↗ api.XRSystem ↗ api.XRSystem.devicechange_event ↗ api.XRSystem.isSessionSupported ↗ api.XRSystem.requestSession ↗ api.XRView ↗ api.XRView.eye ↗ api.XRView.projectionMatrix ↗ api.XRView.recommendedViewportScale ↗ api.XRView.requestViewportScale ↗ api.XRView.transform ↗ api.XRViewerPose ↗ api.XRViewerPose.views ↗ api.XRViewport ↗ api.XRViewport.height ↗ api.XRViewport.width ↗ api.XRViewport.x ↗ api.XRViewport.y ↗ api.XRWebGLLayer ↗ api.XRWebGLLayer.XRWebGLLayer ↗ api.XRWebGLLayer.antialias ↗ api.XRWebGLLayer.fixedFoveation ↗ api.XRWebGLLayer.framebuffer ↗ api.XRWebGLLayer.framebufferHeight ↗ api.XRWebGLLayer.framebufferWidth ↗ api.XRWebGLLayer.getNativeFramebufferScaleFactor_static ↗ api.XRWebGLLayer.getViewport ↗ api.XRWebGLLayer.ignoreDepthValues ↗ html.elements.iframe.allow.xr-spatial-tracking ↗ http.headers.Permissions-Policy.xr-spatial-tracking ↗
id: webxr-device