Colors appear black on 3D objects and invisible on UI on Android

Godot Version

Godot 4.3, C#

Question

When running on Android, pure colors doesn’t work. If I try to create a cylinder using MeshInstance3D it will appear black on my phone. If I try to set a pure color to another 3D object, it’s black. UI elements, for example if I use a color rect or simply set a color to a button etc will just not show at all. I’ve not done any changes to the Android export settings. Any ideas?

I don’t know if I have an answer, but what renderer setting are you using?

Thank you for your response. It appears the UI issue is due to the device, it does not work on my mobile (Huawei P20) but it works on Galaxy Tab S5e. I’ll need to figure out a workaround. I also tried a clean project where the colors seemed to work on the meshes. I don’t see any differences in settings so far but I will continue to look into it.

Try using Compatibility render setting

1 Like

It looks like Huawei uses a mali-g72 and the Samsung uses a ardreno 615. While the Mali seems more advanced and supports newer APIs compared to the Samsung GPU. It seems odd that one works.

Like @Kaboom57 is suggesting you can try to changing the capabilities of the internal shaders by switching render modes. Although you ultimately want to target the mobile render to work with tile based GPUs.

1 Like

Yes, both work fine on Huawei P20 in compatibility mode. It seem I can get around the problem by using ShaderMaterial instead of StandardMaterial. Thanks for the help!

You’re welcome
If everything worked fine, mark the reply that helped you the most as Solution

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.