Search Issue Tracker
By Design
Votes
0
Found in
2022.3.61f1
6000.0.49f1
6000.1.3f1
6000.2.0b1
Issue ID
UUM-107379
Regression
Yes
SpriteShapes are rendered using multiple draw calls when the SRP Batcher determines their nodes are incompatible in a specific project
How to reproduce:
1. Open the attached “IN-99330” project
2. Open the Frame Debugger window (Window → Analysis → Frame Debugger)
3. In the Frame Debugger press the “Enable” button
4. In the Frame Debugger Event Hierarchy expand the “(RP 0:0) Renderer2D Pass” event (“UniversalRenderPipeline.RenderSingleCamera” → “(RP 0:0) Renderer2D Pass”)
5. Observe the expanded “(RP 0:0) Renderer2D Pass” event
Expected result: “(RP 0:0) Renderer2D Pass” contains “RenderLoop.DrawSRPBatcher”
Actual result: “(RP 0:0) Renderer2D Pass” contains “RenderLoop.Draw”
Reproducible with: 2022.3.61f1, 6000.0.41f1, 6000.0.49f1, 6000.1.3f1, 6000.2.0b1
Not reproducible with: 6000.0.40f1
Reproduced on: Windows 11, macOS 15.3.2 (Sequoia) (User)
Not reproduced on: No other environment tested
Note: The first “Draw Mesh” call in the “RenderLoop.DrawSRPBatcher” displays “SRP: Node is not compatible with SRP batcher” in the event details
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- "Shader warning in 'Hidden/Light2D': implicit truncation of vector type" is thrown when building Universal 2D template
- AI Assistant breaks compilation of packages using System.Runtime.CompilerServices.Unsafe via auto-referencing
- Unity Hub checks the "Documentation" module by default on the 6.4 and 6.5 streams despite that it was unchecked with the previous installs
- Shortcut that toggles between Dopesheet and Curves Views in the Animation Window's Timeline is mislabed
- Property List Items Overlap onto the Property List's top edge when scrolling through a long Property List
Resolution Note:
To ensure SpriteShape can utilize SRP-Batcher, all Edge Sprites including Corner Sprites should be part of the same Texture in SpriteAtlas or a SpriteSheet.
In the given project, even though sprites are part of SpriteAtlas, there are two textures created due to not being able to fit all Sprites to a single Texture. This can be fixed easily either by
1. Increasing Max Texture Size of SpriteAtlas.
2. Removing Fill Texture from the SpriteAtlas as Fill texture does not need to be a Sprite and hence can be removed from the SpriteAtlas.
This should fix the issue. Previously in certain versions SpriteShape was incorrectly enabling SRP-Batcher even if multiple textures were used. This has been fixed recently.