Bundle Naming Modeを"Filename"とかにしていれば出力したファイルを見れば良いだけなのですが、
"Use Hash of Filename"等を使っていると、どのファイルがどのAssetか見分けが付かなくなるので、どうにかしました。
var results = new List<(string, long)>(); var settings = UnityEditor.AddressableAssets.AddressableAssetSettingsDefaultObject.Settings; var groups = settings.groups; foreach (var assetGroup in groups) { var scheme = assetGroup.GetSchema<BundledAssetGroupSchema>(); if (scheme == null) continue; var groupName = assetGroup.Name.Replace(" ", "").Replace('\\', '/').Replace("//", "/").ToLowerInvariant(); foreach (var entry in assetGroup.entries) { var assetBundleName = $"{groupName}_assets_{entry.address.Replace(" ", "").Replace('\\', '/').ToLowerInvariant()}.bundle"; var assetPath = Path.Combine(scheme.BuildPath.GetValue(settings), $"{HashingMethods.Calculate(assetBundleName).ToString()}.bundle"); var fileInfo = new FileInfo(assetPath); results.Add((entry.address, fileInfo.Length)); } } var total = results.Sum(x => x.Item2); var text = $"# Addressable Build Report {BytesToString(total)}\n"; foreach (var result in results.OrderByDescending(x => x.Item2)) { text += $"- {(double) result.Item2 / total * 100.0:00.00}% {BytesToString(result.Item2)} {result.Item1}\n"; } File.WriteAllText("AddressableBuildReport.txt", text);