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 compile process adds shader ID to the constant buffer name when the word "Globals" is being used in Vulkan
- Audio Mixer Snapshot link to the documentation isn’t working
- [Android] UnityPlayer gets paused when another Activity is launched even with Run Without Focus enabled
- Animation Clip and kebab menu icons flicker when Cycle Offset value is being changed
- GameObject orientation incorrect when restarting Player after recentering the view on Meta Quest and Android XR
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.