Skip to content

Transparent materials appear black or opaque after runtime import on Meta Quest. #809

Open
@EfimBash

Description

@EfimBash

Describe the bug 💬

When placing the GLB model in the Unity scene before building the app, all transparent materials (e.g., glass and EyeAO) render correctly. However, after building the app and loading the model at runtime using the GLTFComponent, all surfaces with transparent materials are rendered as black or opaque instead of transparent.

Image

Image

On the left (black eyes), you can see the model that has been instantiated, and on the right, the model that was already in the scene.
Image

Steps to reproduce 🔢

  1. Open Unity and place the GLB model directly into the scene. (this will work fine)
  2. Ensure the transparent materials (e.g., glass of the glasses, EyeAO) are displayed correctly in the editor.
  3. Add a EmptyGO with a GLTFComponent attached to it. This is what will instantiate the avatarToTest.glb at run time .
  4. Add the avatarToTest.glb to a streaming assets folder in the project and reference it in the GLTFComponent .
  5. Build and run the application.
  6. At runtime, use the GLTFComponent to load the same GLB model into the scene.
  7. Observe the model’s materials: all surfaces with transparent materials are rendered as black or opaque instead of transparent.

Files to reproduce the issue ♻

avatarToTest.zip

Editor Version 🎲

2022.3

Render Pipeline and version

URP

UnityGLTF Version

2.14.1

Operating System 👩‍💻

Android

When does this problem happen?

  • Editor Import
  • Runtime Import
  • Editor Export
  • Runtime Export

Additional Info 📜

No response

Validations 🩹

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions