# Compress(bool)

> Compress texture at runtime to DXT/BCn or ETC formats.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine](/engine/6000.7/script-reference/unityengine.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public void Compress(bool highQuality)
```

### Parameters

**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)):&#x20;

### Remarks

Use this to compress textures at runtime. Compressed textures use less graphics memory and are faster to render. For more information on texture compression, see [Texture compression](/engine/6000.7/manual/materials-and-shaders/textures/textures-getting-started/texture-compression-formats.md).

The format that Unity compresses the texture to depends on the platform, and the properties of the texture.

texture will be in [TextureFormat.DXT1](/engine/6000.7/script-reference/unityengine/textureformat/dxt1.md) (BC1) format if the original texture had no alpha channel, and in [TextureFormat.DXT5](/engine/6000.7/script-reference/unityengine/textureformat/dxt5.md) (BC3) format if it had alpha channel. If the original texture was [TextureFormat.R8](/engine/6000.7/script-reference/unityengine/textureformat/r8.md), the compressed format will be [TextureFormat.BC4](/engine/6000.7/script-reference/unityengine/textureformat/bc4.md). If the original texture was [TextureFormat.RG16](/engine/6000.7/script-reference/unityengine/textureformat/rg16.md), the compressed format will be [TextureFormat.BC5](/engine/6000.7/script-reference/unityengine/textureformat/bc5.md).

On Android, iOS and tvOS, this will compress the texture to the ETC/EAC family of formats.

Passing `true` for `highQuality` parameter will dither the source texture during compression, which helps to reduce compression artifacts but is slightly slower. This parameter is ignored for ETC compression.

If the graphics card does not support compression or the texture is already in compressed format, then Compress does nothing.

In the Editor scripts, you probably want to use [EditorUtility.CompressTexture](/engine/6000.7/script-reference/unityeditor/editorutility/compresstexture.md), which compresses using slower, but higher quality compression. It can also compress into other compressed formats.

You can also load already precompressed data into a texture using [Texture2D.LoadRawTextureData](/engine/6000.7/script-reference/unityengine/texture2d/loadrawtexturedata.md) function.

Additional Resources: [Texture2D.SetPixels](/engine/6000.7/script-reference/unityengine/texture2d/setpixels.md), [EditorUtility.CompressTexture](/engine/6000.7/script-reference/unityeditor/editorutility/compresstexture.md), [Texture2D.LoadRawTextureData](/engine/6000.7/script-reference/unityengine/texture2d/loadrawtexturedata.md).
