A 2D Project uses Sprites and other graphics to create the visuals of its Scenes. This means a single Project might contain many Texture files. Unity normally issues a draw call for each Texture in the Scene; however, in a Project with many Textures, multiple draw calls become resource-intensive and can negatively impact the performance of your Project.
A Sprite Atlas is an Asset that consolidates several Textures into a single combined Texture. Unity can call this single Texture to issue a single draw call instead of multiple draw calls to access the packed Textures all at once at a smaller performance overhead. In addition, the Sprite Atlas API provides you with control over how to load the Sprite Atlases at your Project’s run time.
To create a Sprite Atlas, go to menu: Asset > Create > Sprite Atlas. Unity creates the Sprite Atlas in the Asset folder, with the file extension *.spriteatlas.
|Type||Set the Sprite Atlas’ Type to either ‘Master’ or ‘Variant’. ‘Master’ is the default Type setting. When you set this property to Variant, Unity reveals additional property settings. Refer to documentation about Master and Variant Sprite Atlases for more information about the two types.|
|Include in Build||Check this box to include the Sprite Atlas Asset in the current build. This option is enabled by default.|
|Allow Rotation||Check this box to allow the Sprites to rotate when Unity packs them into the Sprite Atlas. This maximizes the density of Sprites in the combined Texture, and is enabled by default. Disable this option if the Sprite Atlas contains Canvas UI element Textures, as when Unity rotates the Textures in the Sprite Atlas during packing, it rotates their orientation in the Scene as well.|
|Tight Packing||Check this box to pack Sprites based on their Sprite outlines instead of the default rectangle outline. This maximizes the density of Sprites in the combined Texture, and is enabled by default.|
|Padding||Defines how many pixels are between the individual Sprite Textures in the Sprite Atlas. This is a buffer to prevent pixel overlap between Sprites that are next to each other in the Sprite Atlas. The default value is 4 pixels.|
|Read/Write Enabled||Check this box to enable access to the Texture data from script functions (such as Texture2D.SetPixels, and other Texture2D functions). If you enable this property, Unity creates a copy of the Texture data. This doubles the amount of memory required for Texture Assets, and can negatively affect performance. This property is disabled by default. This property is only valid for uncompressed or DXT compressed Textures as Unity cannot read other types of compressed Textures.|
|Generate Mip Maps||Check this box to enable mipmap generation. Refer to documentation on Texture types for more information.|
|sRGB||Check this box to store Textures in gamma space. Refer to documentation on Importing Textures for more information.|
|Filter Mode||Select how Unity filters packed Textures when they stretch during transformations. This setting overrides the Filter Mode setting of any packed Sprite in the Atlas. Refer to documentation on Texture types for more information.|
|Default (Texture importer settings panel)||Sets the Texture Importer setting of the Sprite Atlas. This overrides the importer settings of the individual Textures that the Sprite Atlas contains. Refer to documentation on Texture Importer Override for more information.|
|Objects For Packing||Unity packs all items in this list into the currently selected Sprite Atlas. Refer to documentation about Selecting items for the Objects for Packing list for more information.|