/Web APIs

XRSession: requestLightProbe() method

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The requestLightProbe() method of the XRSession interface returns a Promise that resolves with an XRLightProbe object that estimates lighting information at a given point in the user's environment.




options Optional

An object containing configuration options, specifically:


The internal reflection format indicating how the texture data is represented, either srgba8 (default value) or rgba16f. See also XRSession.preferredReflectionFormat.

Return value

A Promise that resolves with an XRLightProbe object.


Rather than throwing true exceptions, requestLightProbe() rejects the returned promise with a DOMException, specifically, one of the following:

NotSupportedError DOMException

Thrown if lighting-estimation is not an enabled feature in XRSystem.requestSession() or if the reflectionFormat is not srgb8 or the preferredReflectionFormat.

InvalidStateError DOMException

Thrown if the session has already ended.


Requesting a light probe with the system's preferred format

The default format is srgb8, however, some rendering engines may use other (high dynamic range) formats. You can request the light probe with XRSession.preferredReflectionFormat which reports the preferred internal format.

const lightProbe = await xrSession.requestLightProbe({
  reflectionFormat: xrSession.preferredReflectionFormat


Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
requestLightProbe 90 90 No No 76 No No 90 No 64 No 15.0

See also

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.