Version: Unity 6.3 LTS (6000.3)
LanguageEnglish
  • C#

EditorUtility.CompressTexture

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Declaration

public static void CompressTexture(Texture2D texture, TextureFormat format, int quality);

Declaration

public static void CompressTexture(Texture2D texture, TextureFormat format, TextureCompressionQuality quality);

Description

Compress a texture.

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.

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