Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


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

texture



quality

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); }}