# Compression

> The type of compression the archive uses.

## Definition

* **Type:** Property
* **Namespace:** [Unity.IO.Archive](/engine/6000.6/script-reference/unity/io/archive.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public CompressionType Compression { get; }
```

### Remarks

Only accessible if the archive loaded successfully.

Additional Resources: AssetBundles compression.

### Examples

```csharp
using Unity.Content;
using Unity.IO.Archive;
using UnityEditor;
using UnityEngine;

public static class ArchiveUtilities
{
#if UNITY_EDITOR
    [MenuItem("Debug/Check Archive Compression")]
    static public void CheckCompression()
    {
        string archivePath = EditorUtility.OpenFilePanel("Pick AssetBundle or other Unity Archive file", "", "");
        if (archivePath.Length == 0)
            return;

        Debug.Log($"Bundle {archivePath} has compression type {GetArchiveCompression(archivePath)}");
    }
#endif

    static public UnityEngine.CompressionType GetArchiveCompression(string archivePath)
    {
        var archiveHandle = ArchiveFileInterface.MountAsync(ContentNamespace.Default, archivePath, "temp:");
        archiveHandle.JobHandle.Complete();

        if (archiveHandle.Status == ArchiveStatus.Failed)
            throw new System.ArgumentException($"Failed to load {archivePath}");

        var compression = archiveHandle.Compression;
        archiveHandle.Unmount().Complete();

        return compression;
    }
}
```
