When compressing an ASTC texture, there are a number of options to choose from.
Texture compression algorithms have different channels formats, typically RGB
and RGBA. ASTC supports several other formats, but these formats are not exposed within
Unity. Each texture is typically used for a different purpose such as, standard
texturing, normal mapping, specular, HDR, alpha, and look up textures. All of these
texture types require a different compression format to achieve the best possible
The following figure shows texture settings:
Figure 4-18 Texture settings
Do not compress all of your textures with one format in Build Settings. Keep texture compression as Don’t Override.
Find your texture within the project hierarchy and bring it up in the
Inspector. Unity typically imports your texture as the type
Texture. This type only provides limited
options for compression. Set the type to Advanced to show a larger choice of options.
The following diagram shows setting for a GUI texture with some transparency.
The texture is for a GUI, so sRGB and MipMaps are disabled. To include transparency, you
require the alpha channel. To enable this, tick the Alpha Is
Transparency box and tick the Override for
The following figure shows advanced texture settings:
Figure 4-19 Advanced texture settings
There is an option to select a format and block size. RGBA includes the alpha
channel and 4x4 is the smallest block size you can select. Set Max texture size to the maximum and set Compression Quality, this setting defines how much time
is spent looking for accurate compression.
Selecting specific settings for all of your textures improves the visual
quality of your project and avoids unnecessary texture data at compression time.
The following table shows the compression ratio for the available ASTC block
sizes in Unity for an RGBA 8 bits per channel texture with a 1024x1024 pixel resolution
at 4 MB in size.
Table 4-1 Compression ratios for the ASTC block sizes available in
|ASTC block size