Marking an object as static has no effect on batching.

In my 2d game, I mark my tilemaps as static because they don’t move and I thought that it would enable Unity to batch those tilemaps for optimization purposes. But when I toggle the Stats gizmo in the Game view, there’s no change in the Batches value or even the Saved by Batches value. Why is this?

Make sure to check the frame debugger, as it’ll often be able to tell you exactly why something wasn’t batched.

If that doesn’t clear it up, post a bit more about your scene. Do the sprites share the same material? Do they share the same atlas? Are they mostly next to each other in the hierarchy? Check the shader, if you’re using a billboarding sprite, it may have “DisableBatching” = “True” in its tags. Does it have instancing enabled? Batching should override instancing but it doesn’t always. Does your scene have lighting and/or any shadow casting objects?


I came accross a thread where one of the Unity people confirm that before 2020.3 the stats window is broken regarding the batches when using URP. Now when I switched to 2020.3 there is no negative number on batches saved but it always stays on 0.

and in the frame debugger the draw calls are the same number as the objects in the scene even though they share the same material and are marked as static.

Soo confusing.