Version: 2023.1
public CompressionType Compression ;

描述

The type of compression the archive uses.

Only accessible if the archive loaded successfully.

See Also: AssetBundles compression.

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