-
-
Notifications
You must be signed in to change notification settings - Fork 21.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Building with proxy_to_pthread=yes
breaks WebXR
#83733
Comments
I'm investigating. |
I wonder if Emscripten no longer uses
Although, it says "in web workers" (which isn't our situation), and then "in a pthread" (which is our situation), so it's not totally clear. However, if it's true that Emscripten doesn't use The way that WebXR works, is that once you enter a WebXR session, you need to start using |
@adamscott and I discussed this on RocketChat over the weekend and concluded that it'd be best to change the default to |
proxy_to_pthread=yes
(the default) breaks WebXRproxy_to_pthread=yes
breaks WebXR
Godot version
v4.2.beta.custom_build [f71f4b8]
System information
Chromium-based browser (Brave) on the desktop, and Oculus browser on the Quest 2
Issue description
Trying any of my WebXR games with a web export template built with
proxy_to_pthread=yes
, I get a litany of these sort of errors from various places:... and the app doesn't work.
However, if I recompile with
proxy_to_pthread=no
, then everything works as expected.I still need to dig in deeper to figure exactly what's happening here. I'm guess that when an event happens on the WebXR side, and it emits a signal that goes into Godot, it's coming from a different thread. So, perhaps using
call_deferred()
like the error says is the right fix? Or, maybe changing the*__proxy
setting on some individual functions, now that that's actually being respected?Related to #79711
Steps to reproduce
proxy_to_pthread=yes
Minimal reproduction project
The Godot XR Tools demo can show the issue.
The text was updated successfully, but these errors were encountered: