WebXR on Chrome 81, Windows 10 Desktop, SteamVR, HTC Vive

Hi all. According to Google, Chrome 81 is supposed to have WebXR enabled by default. Bbut I can’t get SteamVR (HTC Vive) to recognize any WebXR-enabled page, even the ones at WebXR - Samples that don’t run on babylon.js.

The same pages work well through Firefox, on the same desktop.

Has anyone gotten WebXR to work successfully on Chrome 81? Thanks.

Pinging @RaananW

As far as I know the Vive is not yet supported. Have you tried enabling open XR in chrome flags?

Just wanted to update re. this issue. To see whether it was an HTC Vive issue, I switched to an Oculus Rift. Same OS (Windows10 Desktop). To make sure it wasn’t a hardware issue, I first checked in Firefox. It worked fine there.

Next I switched to the latest version of Chrome, which is supposed to have WebXR support. As was the case with the HTC Vive, the XR button doesn’t appear in my BabylonJS app. I next visited chrome://flags and switched “Force WebXr Runtime” to “Oculus”. After rebooting the browser, the VR button now appears. But when I click it, I get an error. “The specified session configuration is not supported” in the console.

But I get the same error when I visit Immersive VR Session , which doesn’t use BabylonJS. “XRSession creation failed: The specified session configuration is not supported” in the console.

So this isn’t a BabylonJS-specific issue. Just thought I’d throw the question out to the community to see if anyone has any insight re. how to overcome the problem. Thanks!


The Vive is not yet supported, and oculus is only supported with specific flags (you need to turn on oculus support and OpenXR if I am not mistaken)

The reason Firefox is working is because firefox is using WebVR and not WebXR. WebVR had the same issues when it first started (you don’t know how many times I had to restart an entire system just to get the oculus working), and now that it is at its end, it works as expected…

Ah, that’s too bad. I was under the impression that Desktop Chrome 81 was going to enable (working) WebXR by default. It’s strange, because Chrome on other devices (like the Oculus Quest) works great with WebXR. Hopefully upcoming versions will address these issues. Much thanks for your response. Take care.

Hi guys. Relating to this post, I am having problems previewing any of the demos before we get going on a VR proj. Our setup is windows 10 + Oculus Rift (. We also have vives to try, but rifts are preferred

Chrome (81.0.4044.122)

⦁ All XR flags enabled
⦁ All demos on the immersive-web.github.io do not pick up the headset (VR NOT FOUND)
⦁ By enabling the XR emulator, the VR button on immersive-web and helper buttons on BJS activate, and we can use the emulator (which is awsome!).

Firefox (75.0)

⦁ All demos on the immersive-web.github.io work as expected and pick up after enabling VR button the headset
⦁ The BJS demos do not display the helper, so unsable to activate the VR out the box.

We have developed VR apps in UE, and adore BJS - our clients are blown away! I know the webXR is still in its infancy, and am keep to create an initial VR bjs setup that I can get working before devloping the content.
Any ideas - are we are missing something obvious to enable us to quickly preview the BJS demos in either browser?

Appreciate your time and any insights:) Thanks!

Let’s start with firefox -

Firefox’s demos are using the WebXR polyfill (firefox doesn’t officially support WebXR), and this is why they work and babylon doesn’t. We have decided not to use the polyfill in our playground (mainly because it is already too crowded with libraries as it is), but you can host the demos yourself and have the polyfill integrated.

About rift and chrome -

Chrome used to have a specific oculus flag, but i can’[t seem to find it anymore.I managed once to get XR to work on the rift. I will try later today again and make sure to document what flags were needed and what flags were not.



Got the oculus to work on chrome.

The trick is to enable all XR flags apart from sandboxing (which should be set to disabled), and get the runtime to be Oculus. It then enters XR wonderfully.

A quick warning, the exit button (which is usually the menu button of the left controller) is not working! so you will have to take off the headset and press “Exit” to get out of XR

Thankyou Raanan!

I am so impressesed with the performance and quality in VR - the potential is huge - cant wait to get stuck in, and for webxr to be more standardised.

Thanks again, and keep up the amazing work you and your team are doing.

1 Like

Hi @RaananW,

On Chrome (Version 81.0.4044.129 (Official Build) (64-bit)) I enabled all XR flags, disabled XR device sandboxing.
But it’s still not working. I’m using Oculus Rift S.

Any sugestions?


I am using an older rift, but i believe it should work just the same.

Make sure your oculus software accepts unknown sources (I am also signed to get the beta releases, but I am not sure this will bring anything), make sure the runtime is oculus.

What error are you getting?

Oculus settings:
accepts unknown sources = Yes
beta releases = Yes

Chrome flags:

VR test works on Firefox but not on Chrome
Chrome error: Uncaught TypeError: Cannot read property ‘_gazeTracker’ of undefined
at e.set [as gazeTrackerMesh] (babylon.js:16)

XR playground doesn’t work on Firefox or Chrome
No errors

VR doesn’t work on chrome anymore, and the gaze tracker could not be mocked by the XR experience helper. I will recommend you using XR only and leave VR behind.

Try removing the incubation anf AR features (AR module and hit test), as they are not needed at the moment, make sure you restart the browser and try again. I sadly can’t help more than providing those tips, as this is more a browser/OS issue and less a babylon-js one. Just o check - what demo are you trying to load?

1 Like

Can you give an example to the playground, please.

Finally got it working.

Steps what I did:
Reset Chrome Extensions
Cleared Cache

And it all started to work. Thank you @RaananW

1 Like

Hi all. For what it’s worth, in my latest tests the HTC Vive did work on Chrome (Windows 10). I think the test was equivalent to “out of the box” because I reset the flags and used regular SteamVR (not SteamVR beta).

My app ( http://durrantlab.com/pvr ) does use the polyfill if in can’t find WebXR, so I can’t say whether that’s contributing to the solution. It could also be due to Steam’s recent efforts to make the HTC Vive OpenXR compatible: SteamVR - Transitioning To OpenXR - Steam News

Anyway, wanted to let you know that Chrome might be finally catching up. Take care.

1 Like