AssetBundleとそれが含む全Assetとの対応表をcsvで吐き出すスクリプトです。
Unity2018.4.0
ソースコード
早速ですがソースコードです。
using System.IO; using UnityEditor; using UnityEngine; public class OutputAssetBundlesAndAssets { [MenuItem("Tools/Output AssetBundles & Assets")] private static void Execute() { var text = new System.Text.StringBuilder(); foreach (var assetBundleName in AssetDatabase.GetAllAssetBundleNames()) { text.Append("\""); text.Append(assetBundleName); text.Append("\",\""); var assetPaths = AssetDatabase.GetAssetPathsFromAssetBundle(assetBundleName); for (int i = 0; i < assetPaths.Length; i++) { if (i >= 1) { text.Append("\n"); } text.Append(assetPaths[i]); } text.Append("\"\n"); } SaveTextToFile(text.ToString(), "csv"); } private static void SaveTextToFile(string text, string extension) { // 保存先のファイルパスを取得する var filePath = EditorUtility.SaveFilePanel("Save", "Assets", "default_name", extension); // パスが入っていれば選択されたということ(キャンセルされたら入ってこない) if (!string.IsNullOrEmpty(filePath)) { // 上書き保存 SaveTextToFile(text, filePath, true); } } private static void SaveTextToFile(string text, string filePath, bool append = false) { // ファイルに文字列を書き込む var sw = new StreamWriter(filePath, append); sw.WriteLine(text); sw.Flush(); sw.Close(); // アセットだったらRefresh if (filePath.Contains(Application.dataPath)) { AssetDatabase.Refresh(); } } }
Tools > Output AssetBundles & Assetsを選択するとcsvファイルが保存できます。