Well, it’s easy for me to check in Unity but that’s running on Desktop.
In Unity it’s glTF/PbrMetalicRoughness for both of them, but on Desktop it works fine. It only seems to have changed on Quest so I’d need to make a build that prints that out.
So both characters are rendering correctly in Editor in Unity and are using the same Shader, but only in the build on Quest, one of them shows darker. Correct?
From a build where I’m replacing the materials with a diffuse shader and debugging the old shader that I’m replacing, they’re all debugging as glTF/PbrMetallicRoughness
My method of replacing the materials seems to look correct, and will continue to work if I can assume the name of the albedo texture remains baseColorTexture and isn’t changed in some future update.
It does lose some things like glossiness since it’s only copying over the albedo texture but the more properties I copy over, the more property names I’m depending on never changing in a future update.
Baked lighting in the scene is baked before building the application. Ready Player Me avatars can be added at run-time, that’s kind of the point. So re-baking at run-time wouldn’t be viable.
I do have the gltFastShader variants included already, That both the old and new RPM avatars debugged as using the glTF/PbrMetallicRoughness shader I would think indicates that’s assigned correctly.
It seems like there are no issues with the Shader then. Can you confirm that the textures are the same for both materials using the same Shader?
Also, what Unity Render Pipeline are you using? The Universal Render Pipeline (URP)?