Hello, I’m experiencing an issue where certain mobile models don’t render the terrain object in my game.
The terrain in my game looks normal on most mobile devices, for example, Xiaomi Mi 9 Lite or iphones.

But on certain devices, it looks like this, for example, Samsung Galaxy S9+.

My Unity version is 2022.10.f1, and I’m using URP. The textures I use on my terrain have the following configuration:
The texture settings I use are like this because I was experiencing the bright terrain bug since the project barely started, and after investigating other forum posts like the one linked, changing the texture format to what is shown in the photo was offered as a solution that actually worked to that brightness issue.
I hope you can help me, thank you.
@Jdedueas Do you know what texture format each of the Android devices are using? It might be caused by the alpha channel in the texture or by the device trying to use a texture format that’s not compatible.
Does changing the texture format from “RGB 24 bit” to “RGBA 32 bit” help? Usually a texture with no alpha channel is drawn as fully opaque, but with terrain layers the alpha channel can be used in different ways, such as the density of the layer or the mask.
Some devices may be using the ETC2 fallback and giving you a different result. If you’re using AssetBundles, then you may need to build different sets for each texture compression format you want to support. Most modern devices support ASTC but you may need ETC2 for those that don’t.
Unity does not fix anything related to terrain for over a decade. This is a known bug for so long I think I had two nephews in between.
- Disable GPU Instancing on terrain. It won’t work on most Android. Go into the terrain settings you most likely have the terrain instancing enabled. This speeds up rendering a lot… but it doesn’t work lol. It’s been like that since that checkbox was created AKA before Christ.
- Unfortunately the shader also sucks and it will use alpha on the terrain as metallic brightness when using a mobile rendering. I reported this years ago and Unity said “tough sh*t”. You have to search on the forum until you find out that you must enforce it to something with no alpha. RGB or ETC2 rgb for Android for instance. Gotta love these guys.
Wow this really worked! Thank you very much.
The strange thing is, it’s quite random. Sometimes it renders, sometimes it doesn’t