Transmission of MeshPhysicalMaterial doesn't work on some Android devices

I use MeshPhysicalMaterial with the transmission property on some complex geometry from gltf model. In general, it works fine on Android and iOS, but on some Android devices (for example Pixel 3a XL), when the transmission is more than 0 such mesh is just not visible or crashes the app.

const skinMaterial = new MeshPhysicalMaterial({
    map: skinTexture,
    normalMap: skinNormalTexture,
    transmission: 0.5,
    roughness: 0.45,
    metalness: 0,
    normalScale: new Vector2(1, -1),
    ior: 1.4,
  })

Any ideas what can cause this and how to detect that it is not supported? For example, works fine on Xiaomi Redmi Note 7, which has worse performance according to the specs.

Might be worth filing a bug report, but you’d need to provide more info to help others recreate the bug. What devices does it crash on? Do you get any console errors or warnings? Could be something unrelated, like the device running out of memory. Can you provide a working demo where it crashes? Does this example work on the Pixel 3a XL?

2 Likes