Search Issue Tracker

Active

Under Consideration for 6000.0.X

Votes

0

Found in

6000.0.0b16

6000.1.0a7

Issue ID

UUM-85056

Regression

No

A BatchDrawCommand is using a pass from the shader “Universal Render Pipeline/Particles/Lit” that is not SRP Batcher compatible

--

-

User reported this with GPU resident drawer or Shaders.

It has nothing to do with Rendering Debugger framework. 

[Unity 6 Rendering Debugger breaking URP shader SRP compatibility when DisplayCullingStats enabled - Unity Engine - Unity Discussions|https://discussions.unity.com/t/unity-6-rendering-debugger-breaking-urp-shader-srp-compatibility-when-displaycullingstats-enabled/1538661]

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 :

 
[!https://europe1.discourse-cdn.com/unity/optimized/4X/b/e/f/bef9026aaf4073810af2ecd5246735cddb618222_2_690x319.png|width=690,height=319!|https://europe1.discourse-cdn.com/unity/original/4X/b/e/f/bef9026aaf4073810af2ecd5246735cddb618222.png]
image1676×775 132 KB
 

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 :

 
[!https://europe1.discourse-cdn.com/unity/optimized/4X/1/f/8/1f813cb8b4e8292345477b7b692670a6f1cb3f21_2_690x341.png|width=690,height=341!|https://europe1.discourse-cdn.com/unity/original/4X/1/f/8/1f813cb8b4e8292345477b7b692670a6f1cb3f21.png]
image1730×855 136 KB
 

The console is now printing this error :

 
[!https://europe1.discourse-cdn.com/unity/optimized/4X/f/e/e/fee89cbb1b58e85f64c5c65b976d3a342da2d047_2_689x21.png|width=689,height=21!|https://europe1.discourse-cdn.com/unity/original/4X/f/e/e/fee89cbb1b58e85f64c5c65b976d3a342da2d047.png]
image1237×38 20.2 KB
 

({_}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!

 
[!https://europe1.discourse-cdn.com/unity/optimized/4X/9/f/0/9f0e4c78b8a206810c5c5b50a95f4d588a2a3259_2_549x500.png|width=549,height=500!|https://europe1.discourse-cdn.com/unity/original/4X/9/f/0/9f0e4c78b8a206810c5c5b50a95f4d588a2a3259.png]
image593×540 39.7 KB
 

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

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.