# Babylon WebXR is Broken on Oculus Quest 2 "Meta Quest Browser" and "Firefox Reality Browser"

**URL:** <https://forum.babylonjs.com/t/babylon-webxr-is-broken-on-oculus-quest-2-meta-quest-browser-and-firefox-reality-browser/32485>\
**Category:** Bugs\
**Created:** [July 26, 2022, 2:10am UTC](https://forum.babylonjs.com/t/babylon-webxr-is-broken-on-oculus-quest-2-meta-quest-browser-and-firefox-reality-browser/32485 "2022-07-26T02:10:51Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![tnraddatz](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/tnraddatz/32/25898_2.png) [@tnraddatz](https://forum.babylonjs.com/u/tnraddatz)\
**Post date:** [July 26, 2022, 2:10am UTC](https://forum.babylonjs.com/t/babylon-webxr-is-broken-on-oculus-quest-2-meta-quest-browser-and-firefox-reality-browser/32485/1 "2022-07-26T02:10:51Z")

</div>

Hello Babylon Devs!

The default WebXR demo (created by the babylon team): [WebXR Demos and Examples | Babylon.js Documentation](https://doc.babylonjs.com/divingDeeper/webXR/webXRDemos), does not work on Oculus Quest “Meta Quest Browser” or “Firefox Reality Browser”.

I have tried various forms of writing javascript, with different frameworks, different import methods, etc… and nothing resolves the issue. I have nailed it down to several function calls though, anytime a “Enable WebXR” function is called, the browser will crash and not render anything. If you remove the XR function call and reload, the page will display the scene:

//THIS BREAKS: MetaQuest browser and FireFox Reality Browser  
scene.createDefaultXRExperienceAsync().then(() =\> {  
babylonEngine.runRenderLoop(() =\> {  
scene.render()  
})  
})

The above breaks these browsers.

The below will fix it:  
babylonEngine.runRenderLoop(() =\> {  
scene.render()  
})

I have posted my code here: [GitHub - tnraddatz/BabylonJsBugReport: BabylonJsBugReport](https://github.com/tnraddatz/BabylonJsBugReport)

Another important note here is that the code works fine on desktop Chrome and desktop Firefox. I’ve tested it, and it works, with the “WebXR Device Emulator” for both desktop browsers. This issue seems to be just affecting Oculus quest browsers.

---

<div class="post-metadata">

**Author:** ![tnraddatz](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/tnraddatz/32/25898_2.png) [@tnraddatz](https://forum.babylonjs.com/u/tnraddatz)\
**Post date:** [July 26, 2022, 2:26am UTC](https://forum.babylonjs.com/t/babylon-webxr-is-broken-on-oculus-quest-2-meta-quest-browser-and-firefox-reality-browser/32485/2 "2022-07-26T02:26:55Z")

</div>

Resolved my own question:

XR requires HTTPS.

You cannot do local development with HTTP to serve WebXR. HTTPS is required for WebXR to work in Oculus Quest browsers.

To emulate HTTPs traffic you can use NGROK, [https://dashboard.ngrok.com](https://dashboard.ngrok.com)

---

<div class="post-metadata">

**Author:** ![bjsuser](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/bjsuser/32/25577_2.png) [@bjsuser](https://forum.babylonjs.com/u/bjsuser)\
**Post date:** [August 1, 2022, 6:10pm UTC](https://forum.babylonjs.com/t/babylon-webxr-is-broken-on-oculus-quest-2-meta-quest-browser-and-firefox-reality-browser/32485/3 "2022-08-01T18:10:20Z")

</div>

Thanks for your hardwork @tnraddatz and sharing. I’m going to bookmark this for my #VR #VirtualReality #Quest2 needs.

---

<div class="post-metadata">

**Author:** ![Charge](https://avatars.discourse-cdn.com/v4/letter/c/f475e1/32.png) [@Charge](https://forum.babylonjs.com/u/Charge)\
**Post date:** [August 23, 2022, 10:11pm UTC](https://forum.babylonjs.com/t/babylon-webxr-is-broken-on-oculus-quest-2-meta-quest-browser-and-firefox-reality-browser/32485/4 "2022-08-23T22:11:39Z")

</div>

FYI, Webxr works using http ONLY if running on localhost. Otherwise it must be https. This allows us to develop locally easily
