Hi everyone ![]()
I’m trying to test a WebGPU build in PlayCanvas, and it works perfectly fine on desktop (PC) browsers, but fails on Android mobile (Chrome) — even though my device fully supports WebGPU.
To reproduce, I didn’t add any custom code — I’m just displaying the default box in a new PlayCanvas scene.
However, when I run the build on Android (Chrome), I get the following console error:
viewport-error-console.ts:163 WebGPU BindGroup creation validation error:
None of the supported sample types (UnfilterableFloat) of [Texture “LightsTexture”] match the expected sample types (Float).
- While validating entries[1] as a Sampled Texture.
Expected entry layout: {sampleType: TextureSampleType::Float, viewDimension: TextureViewDimension::e2D, multisampled: 0} - While validating [BindGroupDescriptor “MeshBindGroup_2”] against [BindGroupLayout “BindGroupFormat_5”]
- While calling [Device “PlayCanvasWebGPUDevice”].CreateBindGroup([BindGroupDescriptor “MeshBindGroup_2”]).
while rendering Pass:RenderPassForward RT:WebgpuFramebuffer | Camera: camera, Layer: World(OPAQUE) | Node: Box, Material: Default Material
What I’ve checked:
- My Android device supports WebGPU, verified by running several demos such as PlayCanvas WebGPU Hello World, which runs perfectly fine.
- Using latest Chrome on Android.
- Using the latest engine build from PlayCanvas Editor.
Question:
- Is there any known compatibility issue or extra step required for WebGPU builds on Android mobile in PlayCanvas?
- Do I need to configure anything in the project (e.g., lighting, render targets, texture sample types) to make it run?