WebXR not working on ios?

Hello friends,

Playcanvas webvr examples do not works for me on iphone (iphone11 with latest IOS) (safari and chrome)

  • WebXR 360 Image
  • WebVr lab

If freezes when I get to polyfill (2 screens) and nothing is moving.

Feels like im not giving access to the motion sensors?

Thanks for the support


I’m not surprise about this. Apple is not very friendly with WebXR. I think they are against it because they prefer to have complete control with their applications.

Actually, this is the only factor that block us to go all in with WebXR.

The only way I know to use WebXR on iOS is by using this special Mozilla browser: https://blog.mozvr.com/updating-the-webxr-viewer/

Safari is still far from being compatible: https://caniuse.com/webxr

1 Like


A-frame webxr examples works just fine on my iphone.

I just tried Webxr Viewer and I have the exact same problem.

I have a message in my logs.

“the optional feature ‘hand-tracking’ is not supported”, not too sure why I would have this.

Interesting, I may be wrong. I will check that and try again with Polyfill.

Oh, there is a feature in WebXR for hand-tracking. There is a playcanvas demo for Oculus Quest here: WebXR Hand Tracking

Maybe it’s activated by default?

All the A-Frame WebVR experiences ask for permission to use the motion sensors. Which never happen on the play canvas projects? maybe thats why I reach polyfill without the tracking.

Anyway, thank you for your time

The current projects may not have the latest version of the webxr polyfill so it be worth checking that the latest are used from the GitHub sites where the polyfills are.

Thank you for the suggestion. I updated to latest polyfill without success.

polyfill seems to have very specific setup for iframes when it comes to IOS.

Where do I need to look to see if everything is setup correctly regarding the iframe?

Thanks for the support.


Can you try without the iframe? Does it work from the launch tab in the Editor

no, if I press play from the editor, it seems to fail.

Hmm… I’m out of ideas from the top of my head. There’s some particular setup needed for iOS that will need to be looked at.

Currently, I’m completely swamped so I have no idea when I will even have time to look into this.

@moka are you available to look at this?

Could I expect that somebody take a look at this shortly? Playcanvas is sold like it support webxr, and the playcanvas flagship ar/vr experiences (tutorials and demos) do not work for now.

Thank you for the support.

I can try to find some time later this week to look at but no promises.

The main problem here is that browser support and the APIs are in flux with WebXR still a draft Web API and not natively supported on most browsers besides Chrome and Firefox on Android.

WebVR which is what WebVR Labs is using is no longer natively supported on Android and was never supported on iOS except via polyfill and even then, there are issues.

1 Like

As you are saying you are getting the twin screens (assuming you are using WebXR for VR), but no movement, it sounds like a permissions issue where we need to ask the user to access the gyro/accelerometer sensors.

While I can’t look at this as my next task, what I am going to try is adding device motion permission request as seen here https://medium.com/flawless-app-stories/how-to-request-device-motion-and-orientation-permission-in-ios-13-74fc9d6cd140

I would probably put this on the click event callback for the enter VR button and only enter VR if this permission is granted.

1 Like

Yes! I get to the 2 screens and nothing pick up! it does feel like its a permission issue.

I’ll take a look. Thank you very much for your time.

And as quick reminder, Im playing with playcanvas WebXR projects, specificaly 360 image and the 360 video projects.

And it work!!

Just need to figure out how to enable/disable the transition window now. and plug the back button to the experience. Thank you!

1 Like

I’ve updated all the demos and the starter kit to ask for permissions when you press the buttons.

Also, as a FYI, on iOS 14, Safari will only go full screen when rotating the phone in landscape if there is only one tab. If there is more than one tab, the nav bar will stay on top.

1 Like