Unity 6 Rendering Debugger breaking URP shader SRP compatibility when DisplayCullingStats enabled

Hi !

I am currently testing the GPU Resident Drawer in Unity6 (6000.0.23f1 LTS) and I am facing a weird issue that is driving me crazy because I cannot figure out how to debug that.

The setup is the following :

  • New clean project
  • URP (last version 17.0.3)
  • Unity 6000.0.23f1
  • Render asset is the default PC_RPAsset that comes with the newly created project
  • Forward+
  • Static batching disabled
  • GPU resident drawer set to “Instanced Drawing”
  • GPU Occlusion Culling enabled

Then I have created a simple material using the URP/Particles/Lit shader, placed a plane in my scene with this material on it. So far so good :

Then I start the Rendering Debugger, and uder the Rendering Debugger tab, I switch the “Display Culling Stats”, and it gives me that result in my scene :

The console is now printing this error :

(A BatchDrawCommand is using a pass from the shader “Universal Render Pipeline/Particles/Lit” that is not SRP Batcher compatible. Reason: “Material property is found in another cbuffer than “UnityPerMaterial”” (_BaseMap_TexelSize)
This is not supported when rendering with a BatchRendererGroup (or Entities Graphics). MaterialID: 4 (“test”), MeshID: 1 (“Plane”), BatchID: 3.)

And now if I select the shader, it’s saying that it is no longer SRP compatible!

The only way to fix this is to do a reimport of the folder Packages/Universal RP/Shaders/.

What am I doing wrong here? I’m kinda lost with this issue.

Thanks!

2 Likes

Hi

We repro the issue and we’re working on a fix.

@arnaud-carre any news about a fix? I just had that as well with the latest unity 6 version.

1 Like

yes sorry the fix has landed in Unity 6000.0.39f1 and higher