We've identified that alpha blending did not work because the build is missing the required shader variant.
Previously it was sufficient to put the shader in question into the list of *Always Included Shaders* in the Graphics settings.
Unity 6.3 introduced more efficient/aggressive shader variant stripping. Even though this change likely surfaced the problem, it is by-design. Users are expected to setup the project in a way that ensures all shader variants required are included in the build.
We did notice that the documentation around the topic was somewhat outdated and had gaps and so we improved it. Expect the updates to land soon here (under *Project Setup*):
https://docs.unity3d.com/Packages/com.unity.cloud.gltfast@latest/
To spot missing shader variants easily, enable *Strict Shader Variant Matching* in the player settings and run a development build. Missing shader variants will render a solid magenta and the exact shader variant missing can be retrieved from the player logs.
One way to solve this, follow the steps from the glTFast documentation under Materials and Shader Variants:
- Run your scene that loads all glTFs you expect in the editor.
- Go to Edit > Project Settings > Graphics
- At the bottom end you'll see the "Shader Preloading" section
- Save the currently tracked shaders/variants to an asset
- Take this ShaderVariantCollection asset and add it to the "Preloaded Shaders" list
Another solution introduced in Unity 6.3 is to force Unity to compile the required shader variants with a *Shader Build Setting* of keyword set `_ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON` with Type override of `multi_compile` (see Project Settings -> Graphics). For this particular case make sure that at the very least the keywords `_` and `_ALPHABLEND_ON` are checked.