URP Android on Adreno GPUs not rendering 3D scene

Hi all,

I hope someone can help with this.

When I try to load my 3D scenes from a downloaded asset bundle, only on Android 14 I am not seeing any rendered materials on my objects. Only the skybox. This doesn’t happen on any other platform, including previous versions of Android.

When I connect up the web inspector to Microsoft edge I see these errors in the dev console when the scene loads for what appears to be every texture

WARNING: 0:2: ‘GL_EXT_shader_texture_lod’ : extension is not supported
WARNING: 0:3: ‘GL_EXT_shader_framebuffer_fetch’ : extension is not supported
ERROR: too many uniforms

It also appears that objects with materials that have unlit shaders ARE rendered. Just nothing else

Unity 2023.2.11f1

This may be more of a hardware compatibility problem. Phone is a Motorola Edge 30 ultra with Adreno 730 GPU

Scene renders correctly on Samsung Galaxy A54 with Mali-68 MP5 GPU

Anyone out there with similar experiences?

Are you building for android, or are you making webgl builds and opening on a phone?

Update to newer Unity, seems like a weird version to stay on.

WebGL. From memory I think I’ve tried 2023.2.20f1 but there was no change.

Also tried Unity 6

WebGL on mobiles was not really supported until recently, so the newer Unity version the better. Not sure what else to tell you.

Try WebGPU and see what happens?

Thanks for trying. I’ll keep an eye out in the release notes. I’d like to give WebGPU a try at some point but I’m concerned about Safari support for the moment

It’s my mobile, which I’ve never been 100% happy with but it means that there would be more out there though

It seems like this is occurring for all the materials using URP/Lit shader. I noticed in one of my scenes, added to URP/Unlit, two objects using the URP/Complex Lit shader were also rendering.

I changed all the Lit objects to Complex Lit and they rendered when loaded from the bundle.
Edit: Sadly this only worked with the one scene bundle.

As for devices, same issue on Galaxy S23 which has Adreno 740. Far from an uncommon device

Just discovered that this isn’t only occurring on Android 14, but does seem to be Adreno GPUs. Other devices, Google Pixel 5 - Android 14 (Adreno 620), Nokia 8 - Android 9 (Adreno 540)

I’ve found this link here also:
Objects not rendering on some devices (Mobile WebGL) - Questions & Answers - Unity Discussions

All the devices the OP listed has Adreno GPU

Reverted the changed materials back to URP/Lit and it’s rendering again. Only that scene so far. I’m starting to think there has been something corrupted in the projects somewhere, I have some strangle looking material previews on some

For anyone who may be experiencing a similar problem to this, I managed to fix my asset bundles by removing the URP package and deleting the related URP render asset files. Restart Unity then add URP again and created new URP render asset files.
Build the bundles and voila. Materials rendered again.

Sorry I can’t pinpoint the actual cause or which part of URP was broken. I’m just happy it works again

I had this problem, as well. 2D objects visible. 3D objects invisible. I changed the material from URP/Lit to URP/Unlit. It worked. Then I changed it BACK to URP/Lit, and it stayed working. In case it helps anyone.

I just want to pay your attention to these comments @brendanduncan_u3d @MarcelPursche. Possibly, it will be useful to solve this bug.

Interesting. Sounds like a shader cache issue. I wonder if deleting Library (or the shader cache in Library) would have helped.

Just tested with 6000.038, Galaxy A71 and Chrome - deleting Library doesn’t work.

But creating URP assets from scratch is sound. I have the same project in 2 variations:

  1. URP assets were generated from the new Unity 6 Project : PC and Mobile quality levels.
  2. URP assets were generated from Unity 2022.3 and were upgraded with Unity 6: there are 5 quality levels - this one renders in the WebGL build on Android.

Update:

I consider New Unity Project that created with Unity 6000.038.

By Default, Android WebGL build doesn’t render Lit and Lit-based shaders.

  1. Deleted Settings folder with all URP stuff.
  2. Closed the Project.
  3. Opened the Project: 2 URP files were created automatically:
    3.1 DefaultVolumeProfile
    3.2 UniversalRenderPipelineGlobalSettings
  4. Created URP Asset (with Universal Renderer).
  5. Assigned it to Default Render Pipeline in Graphics Settings: I didn’t assign it in Quality Levels.
  6. Made a Dev Build. It Renders.

I confirm that this solution worked! I was testing 6000.0.35f1, and it didn’t work, but 6000.0.41f1 worked.

Update (2025.04.02)

This bug keeps coming back, I don’t know what causes it.

Yesterday, I wasted the whole day trying to fix it, even though I did what @makaka-org wrote in the instructions above.

The steps described above only worked when I closed other open projects (other instances of Unity Editor). I don’t know if this is a coincidence or if Unity Editor really caches something until all instances are closed.

The problem definitely concerns URP/Lit and Addressables, because objects using URP/Lit but not as Addressable work.

Update (2025.05.24)
A bug is reappearing again and again. It’s 50/50 when you got the build after regenerating all URP stuff.

We are having the same exact problem. We are building a webgl application but no shaders other than unlit or canvas ones render at all. We are on unity 6000.37f, unfortunately we cannot upgrade to the latest unity as it breaks something with TLS

read my post above:

Unfortunately even deleting all urp assets didn’t fix it, Lit shader still not rendering at all.

@unity_BA3CA6D2A198FB0FD94B You an DM me any additional info you have, a broken build or repro project if you have it, and I can take a look.