VR Mode Rendering Problems on Meta Headsets with Latest Updates

Hello.

I was going to provide a short vid of the issue. But whoops, can鈥檛 upload. You will not get to hear my beautiful voice. Sorry. :slightly_smiling_face:

I will provide screenshots and some links to a couple sample experiences. Unfortunately, I cannot post a link to the actual project since it is for a customer.

Unity 6.0.48f1
Needle Engine 4.4.3
Horizon OS 76.1025
Meta Browser 38.x (Chromium 134.x)

Access the experience:

Enter VR:

Exit VR:

Camera displacement.

Here is a second experience built with an older version of Unity and Needle Engine:

Unity 2022.3.41f1
Needle Engine 3.44.6
Horizon OS 76.1025
Meta Browser 38.x (Chromium 134.x)

Access the experience:

Enter VR:

Exit VR:

And you can see the camera is not displaced.

That is only one issue I ran into and it is not a critical one since the experiences built with the newer tech still works.

But, the other issue I am seeing and unfortunately it is intermittent, is that when entering VR in the first experience listed above, the camera will render the scene for a second or two and then the screen goes white or sometimes black. Also, sometimes it will render and the teleport will work just fine, but then the controllers stop responding.

I am only seeing console warnings and no errors.

Based on this, I was looking for information on whether or not the reference to the scene context is being lost. And therefore, camera displacement and other odd behaviors can occur.

The following is according to a few AI searches, but I am not sure if this is related. That is why I am asking if anyone has seen similar behavior. The cited items seem to be related to PCVR over a wire. So I am not convinced that it is the same issue I am seeing, but it also causes a similar camera displacement.

In the current experience that I cannot post, I have also noticed that an error in an FBX import into Unity seems to consistently cause the rendering issues when entering VR in the browser as mentioned above.

Now I did try this in my Quest Pro as well and that had an older version of the OS. I think before the Horizon OS rollout. I did not see the issues mentioned above. Unfortunately, I forgot the headset was set on Auto Update and the new OS was installed. Tried the experiences again and now I am seeing the same problems as on the Quest 3. That is also another reason why I am querying if this is a Meta Browser update issue. It seems that there are some problems that do exist after the April 24th rollout.

Any advice or thoughts are certainly appreciated and most welcome.


Recent Meta updates to the Quest 3 and Quest Pro have introduced instability in WebXR experiences, particularly affecting Three.js and Needle Engine projects. Here鈥檚 a breakdown of the issues and their causes:

WebXR Context Loss and Camera Displacement

  1. Context Loss in Three.js
    A confirmed issue arises when using Three.js鈥檚 makeXRCompatible() method, which asynchronously prepares the WebGL context for XR. This triggers a ContextLost error on Meta Quest Link (PCVR) setups, crashing the experience56. The root cause appears to be a conflict between Meta鈥檚 runtime and Three.js鈥檚 approach to context compatibility.
  • Workaround: Initialize the WebGL context with xrCompatible: true at creation instead of relying on makeXRCompatible() 56.
  • Affected Projects: All Three.js-based WebXR apps using the default workflow, including official examples56.
  1. Camera Displacement
    When switching from 3D web content to immersive VR, improper context handling during the transition can reset camera positioning. This is exacerbated by Meta鈥檚 recent WebXR runtime changes, particularly in how sessions are initialized56.

Meta Browser-Specific Issues

  • Experimental Feature Instability: Enabling flags like WebXR Experiments (e.g., for body tracking) can crash the browser entirely, as reported with Babylon.js and PlayCanvas projects2.
  • Quest Pro Tracking Bugs: A separate April 2025 update broke eye/facial tracking and avatar rendering on Quest Pro, though this primarily affects social VR apps rather than WebXR4.

Current Status

  • Three.js Compatibility: The Three.js team is investigating the makeXRCompatible() issue, but no fix has been released as of May 202556.
  • Meta Acknowledgment: While no official statement addresses WebXR context loss, the body-tracking crash (triggered by experimental flags) is under review2.

For developers, the recommended short-term solutions are to:

  1. Initialize WebGL contexts with xrCompatible: true 56.
  2. Avoid enabling experimental WebXR flags in the Meta Browser2.
  3. Test experiences on stable browser versions (e.g., v33.0+ with caution for v34.x)12.

Citations:

  1. Browser Developer Release Notes
  2. Meta Quest Browser with enabling WebXR Experiments flag crashes when enter WebXR - Bugs - Babylon.js
  3. Reddit - The heart of the internet
  4. https://communityforums.atmeta.com/t5/Get-Help/Latest-Meta-Update-Breaks-eye-tracking-and-avatars-for-QUEST-PRO/td-p/1311837
  5. makeXRCompatible call causes WebGL ContextLost error in a PCVR setup with Meta Quest Link 路 Issue #30674 路 mrdoob/three.js 路 GitHub
  6. This tutorial does not work with Meta Quest Link 路 Issue #2 路 meta-quest/webxr-first-steps-react 路 GitHub
  7. Meta Quest Browser - Wikipedia
  8. Browser Developer Release Notes
  9. WebXR broken on Meta Quest browser (renders a black void) 路 Issue #95039 路 godotengine/godot 路 GitHub
  10. Default XR action map broken in webXR on Quest 3 路 Issue #96016 路 godotengine/godot 路 GitHub
  11. Support for Latest WebXR Features in Babylon.js - Feature requests - Babylon.js
  12. https://www.meta.com/help/quest/software_update/
  13. Reddit - The heart of the internet
  14. https://www.meta.com/experiences/wolvic/5917120145021341/
  15. https://communityforums.atmeta.com/t5/forums/filteredbylabelpage/board-id/dev-quest/label-name/webxr
  16. Browser Developer Release Notes
  17. AR not available on a quest 3? - Questions - Babylon.js
  18. WebXR Plane Detection on Quest 3 Passthrough - Questions - Babylon.js
  19. Meta Quest Browser Bug - 3D Scene Jitter - Develop... - Meta Community Forums - 1215406
  20. VR & AR (WebXR) | Needle Engine Documentation
  21. Reddit - The heart of the internet
  22. https://communityforums.atmeta.com/t5/Get-Help/Meta-Quest-Browser-Bug-3D-Scene-Jitter-Developer-THREE-js/td-p/1215404
  23. WebXR, AR mode Can't display hands (OculusHandModel) on Quest 3 - Questions - three.js forum
  24. GitHub - De-Panther/unity-webxr-export: Develop and export WebXR experiences using Unity WebGL
  25. Revolutionizing WebXR Development with the Immersive Web Emulator
  26. Needle Engine Samples
  27. WebXR browser crash - Questions - three.js forum
  28. Image Tracking not showing on IOS
  29. webxr/explainer.md at main 路 immersive-web/webxr 路 GitHub
  30. https://www.youtube.com/watch?v=4wQG8_pb3cs
  31. https://www.meta.com/en-gb/help/quest/2988394104772773/
  32. https://communityforums.atmeta.com/t5/Get-Help/Meta-Quest-Browser-33-3-WebXR-Videos-flickering/td-p/1209512
  33. https://www.meta.com/experiences/browser/1916519981771802/
  34. https://www.meta.com/help/quest/172903867975450/
  35. Meta simplifies WebXR access on Quest headsets
  36. Can't run WebXR through Quest link - Bugs - Babylon.js
  37. VR not appear when apply it - Questions - three.js forum
  38. VR projects | Meta - Questions - three.js forum
  39. Breaking down the details of Meta Quest 3's upgrades to MR technology
  40. WebXR support for Quest 3 路 Issue #65 路 mkkellogg/GaussianSplats3D 路 GitHub

Answer from Perplexity: pplx.ai/share