Unity logo
Cancel
Cart
Applications
Sell Assets

Over 11,000 five-star assets

Rated by 85,000+ customers

Supported by 100,000+ forum members

Every asset moderated by Unity

1/5
Optimize Sprite rendering with static batching. Even thousands of sprites on-screen is no problem!
Render pipeline compatibility
The Built-in Render Pipeline is Unity’s default render pipeline. It is a general-purpose render pipeline that has limited options for customization. The Universal Render Pipeline (URP) is a Scriptable Render Pipeline that is quick and easy to customize, and lets you create optimized graphics across a wide range of platforms. The High Definition Render Pipeline (HDRP) is a Scriptable Render Pipeline that lets you create cutting-edge, high-fidelity graphics on high-end platforms.
Unity VersionBuilt-inURPHDRP
2021.3.40f1
Compatible
Compatible
Compatible
Additional compatibility information
  • Verified compatible through Unity 6
Description

Discord Support | Forum | Email


Static Sprites is a lite tool to optimize the rendering of non-moving sprites. The improved performance means you can now render thousands of sprites on even low-end mobile devices without a hitch!


As a technical background, Unity normally dynamically batches the rendering of sprites as an optimization. Dynamic batching means it groups the geometry into similar renderable batches each frame, and this generally works pretty well for small moving geometry. However, dynamic batching is not optimal for non-moving sprites, since the CPU still does a lot of work constructing the batches each frame. If you open the Unity Profiler or Frame Stats, you can check the Dynamic Batching batched draw calls count. That is all the redundant work, since the sprites don't move.


Static batching on the other hand, is much faster as it pre-generates the batches and geometry to be rendered just once. However, Unity's static batching system only works for meshes, unfortunately. Toggling the Static checkbox on sprites does nothing.


That's where Static Sprites comes in. Simply attach this component to a game object, and any sprite that is in the hierarchy under it is statically batched on start. It does this automatically, intelligently combining sprites into singular meshes while respecting differing materials, textures, atlasing, colors, sorting orders and layers, and Flip XY direction.


Features

  • Automatically static batches non-moving sprites
  • Supports differing textures, colors, materials, atlasing, sorting layer ID, sorting order, and Flip XY
  • API to unbatch sprites as well
  • Support for exporting combined sprites to a folder outside Play mode

See Technical Details for in-depth details.


And that’s it! If you are using sprites in your game, this is an easy-win for optimization.

Increase your framerate, save battery life, and render more sprites!


Discord Support | Forum | Email

Technical details

Static Sprites works by disabling the SpriteRenderers on any children game objects in the hierarchy of the attached component on start, and generating new combined sprite meshes to be rendered in their place. The combined mesh contains the proper geometry and UV coordinates to render the contained sprites, and a new combined mesh is generated for each grouping of differing textures, colors, materials, sorting order, etc. The less variations you have, the better the grouping can be. In the optimal scenario, it can be just 1 drawcall rendering 1 giant mesh, if all the sprites are placed within the same atlas. This works with sprite atlasing as well, which is highly recommended when rendering sprites to achieve optimal performance.


Additionally, there is support for exporting combined sprites out to a folder. This is not required for using Static Sprites, but may speed up startup times if there are a very large number of sprites to be combined.


Please note that while static batching is great for performance, some care must be taken if many of the sprites will not be visible at the same time, as static batching can hinder the functionality of camera frustrum culling and cause needlessly extra vertices to be sent to the GPU.

Static Sprites

(not enough ratings)
35 users have favourite this asset
(35)
FREE
License type
File size
1.6 MB
Latest version
1.0.2
Latest release date
Jul 19, 2024
Original Unity version
2021.3.40
Support
Visit site
Quality assets
Over 11,000 five-star assets
Trusted
Rated by 85,000+ customers
Community support
Supported by 100,000+ forum members
Unity logo
Language
Feedback
Partners Program
Partners
USD
EUR
Copyright © 2025 Unity Technologies
All prices are exclusive of tax
USD
EUR