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
- Out-of-bounds memory access with multiple CanvasRenderers under a Canvas when using Mesh API
- Inspector tries to access file after it was deleted when the file was locked in Inspector window
- Changing Transform values in Search window Inspector loses focus while dragging and stopping mouse without releasing dragging action
- Saving changes on the dirty VFX Graph during the Play mode throws "The referenced script (Unknown) on this Behaviour is missing!" warnings
- VFX Graph Debug Info overlaps the "Initialize" block debug info by default
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.