📄 threejs/Addons/Webxr/VRButton

File: VRButton.md | Updated: 11/15/2025


title: VRButton category: Addons layout: docs

VRButton

A utility class for creating a button that allows to initiate immersive VR sessions based on WebXR. The button can be created with a factory method and then appended ot the website's DOM.

Code Example

document.body.appendChild( VRButton.createButton( renderer ) );

Import

VRButton is an addon, and must be imported explicitly, see Installation#Addons.

import { VRButton } from 'three/addons/webxr/VRButton.js';

Properties

.xrSessionIsGranted : boolean

Whether a XR session has been granted or not.

Default is false.

Static Methods

.createButton( renderer : WebGLRenderer | WebGPURenderer, sessionInit : XRSessionInit ) : HTMLElement

Constructs a new VR button.

renderer | The renderer.
---|---
sessionInit | The a configuration object for the AR session.

Returns: The button or an error message if immersive-ar isn't supported.

.registerSessionGrantedListener()

Registers a sessiongranted event listener. When a session is granted, the VRButton#xrSessionIsGranted flag will evaluate to true. This method is automatically called by the module itself so there should be no need to use it on app level.

Source

examples/jsm/webxr/VRButton.js