CompressTexture
Compress a texture.
Read time 2 minutesLast updated 12 days ago
Definition
- Type: Method
- Namespace: UnityEditor
- Assembly: UnityEditor
CompressTexture(Texture2D, TextureFormat, int)
Compress a texture.
public static void CompressTexture(Texture2D texture, TextureFormat format, int quality)
Parameters
Remarks
Use this function to explicitly compress a texture into specified format.
Unity does not support the compression of textures into signed EAC formats. Additionally, only the following formats are supported if the texture to compress uses non-power of two (NPOT) dimensions and has a mipmap:
- Crunch formats
- BC4
- BC5
- ASTC formats
The texture is left unchanged if Unity is unable to compress it.
If you want to do texture compression in-game, use Texture2D.Compress function, which will use faster but lower quality DXT1/DXT5 (also known as BC1/BC3) or ETC/EAC compression.
Examples
using UnityEngine;using UnityEditor;public class CompressTextureExample : AssetPostprocessor{ // Automatically Compress all imported textures to the project to RGB24 void OnPostprocessTexture(Texture2D t) { EditorUtility.CompressTexture(t, TextureFormat.RGB24, TextureCompressionQuality.Normal); }}
CompressTexture(Texture2D, TextureFormat, TextureCompressionQuality)
Compress a texture.
public static void CompressTexture(Texture2D texture, TextureFormat format, TextureCompressionQuality quality)
Parameters
Remarks
Use this function to explicitly compress a texture into specified format.
Unity does not support the compression of textures into signed EAC formats. Additionally, only the following formats are supported if the texture to compress uses non-power of two (NPOT) dimensions and has a mipmap:
- Crunch formats
- BC4
- BC5
- ASTC formats
The texture is left unchanged if Unity is unable to compress it.
If you want to do texture compression in-game, use Texture2D.Compress function, which will use faster but lower quality DXT1/DXT5 (also known as BC1/BC3) or ETC/EAC compression.
Examples
using UnityEngine;using UnityEditor;public class CompressTextureExample : AssetPostprocessor{ // Automatically Compress all imported textures to the project to RGB24 void OnPostprocessTexture(Texture2D t) { EditorUtility.CompressTexture(t, TextureFormat.RGB24, TextureCompressionQuality.Normal); }}