WebXR: AR doesn't work

When I click the “AR” button in my project, it works on my device. And literally nothing else, it seems like. When my coworkers try it on their Android devices in Chrome, nothing happens. The phone asks them for permission to use the camera, and that’s it.

I’ll save you the link to my project because this even happens in the very official XR example:
https://developer.playcanvas.com/en/tutorials/webxr-ray-input/

I could ask someone for their stats of their phone where it doesn’t work, in case that’s of any help:
Samsung Galaxy S9+
Android Version 9
Chrome Version 113.0.5672.131

Any help would be greatly appreciated.

1 Like

I just tried it on Pixel 6 and it works well.

We had an issue with this for the last perhaps 4 days, and fixed it yesterday afternoon London time - could you perhaps retest it on the latest version?

Details on the issue: [SOLVED] VR Not Working "This page isn't responding"

1 Like

We tested it just now, and the issue persists.
To clarify, we were testing the export embedded into the webpage, and didn’t check out the example in the editor, in case that’s relevant.

I visit the link you mentioned:
https://playcanvas.com/project/460449/overview/webvr-ray-input
and click on Play button there on my phone, and that works. Is this what is failing for you, or do you have different repro steps.

We just tried it with the play button there as well; same thing happens: the site asks for permission to use the camera and nothing happens after that. It only works on my Mi 10T Lite.

Could you try these perhaps, example 2 or others?

The example does work on certain devices which have trouble displaying WebAR on PlayCanvas now, as is the case with the Samsung Galaxy S9+. Something to note is that WebAR in PlayCanvas used to work on those same devices in the past.

EDIT: On another phone, the example does not work now, although PlayCanvas WebAR did work on it in the past. (UleFone Armor 6, Android 8.1.0, Chrome 113)

Bumping because this is an issue that we really need to resolve.
Since the WebXR sample works, it seems likely there is an issue with the integration in PlayCanvas.

I tried on Google Pixel 6 again, and it works fine,
I tried running it on Galaxy A03s, and that prompted me to install Google AR Core from the Store, and in the store it says it’s not compatible with the device, so I could not test.

This is the device compatibility list: ARCore supported devices  |  Google for Developers

Galaxy S9+ is listed, so that should work.
UleFone Armor 6 is not, so not sure about support on it?

Can somebody else please test on their Android devices? @slimbuck

Steps:

The list seems consistent with our tests, as the non-PlayCanvas sample worked on Samsung Galaxy S9+, but the PlayCanvas version did not.

It must be a PlayCanvas issue in that case.

Hi @DJ_Coco - are you able to list additional devices where this does not work, or it just the mentioned S9+

I created a tracking ticket

1 Like

I have found no more anomalies while testing.
Ulefone Armor 6, Android 8.1.0, couldn’t use AR, although it used to work in the past, but since it’s not officially supported I guess it’s not a bug.
Similarly, Caterpillar S41 didn’t work and is also not officially supported.
Samsung Galaxy S9 Plus, Android 9, could render the WebAR sample, but not the PlayCanvas one on Chrome, while both failed on the default Samsung browser.
Huawei P Smart Z Black, managed to run both samples successfully.

1 Like

Works fine on Poco X3 NFC (Chrome)

It seems that some devices report numbers well outside of their support.

I found people reporting similar issues here. This breaks things down by device.

Update on this issue:

if (this.app.xr.supported && this.app.xr.isAvailable(pc.XRTYPE_AR))
returns false on iPhone 12 and iPhone 13.

The official PlayCanvas example does not work with these devices either.

They are listed on the compatibility list linked in this post.

We need to support AR on modern devices at least. Are there any updates on this issue or alternatives?

iOS device still do not support WebXR, so no XR examples work on any released iOS devices. The reason here is that all browsers on iOS use WebKit (Safari, Chrome, Firefox), and that does not implement WebXR yet.

The compatibility list you mentioned there is for AR Core. Which means the AR is available to native application. But web applications use WebXR API to access it, which is missing on iOS.

See more here for example: Apple WebXR: Web-based AR doesn’t work on iPhones - Protocol

The main alternatives are https://www.8thwall.com/ and https://zap.works/ which can be used with PlayCanvas.

Also, if all you need is just a limited object viewer in AR mode, you could supply USDZ assets which on IOS render in AR using QuickLook. Try this example, which converts GLB to USDZ on the fly and uses QuickLook: PlayCanvas Examples

1 Like