久しぶりの更新です。
よく書く割に地味に書き方を忘れるので、自分用のメモ代わりに書きます。
System.IO を使えば結構簡単にできます。
directoryPath 以下にある T型を持ったアセットをすべて取得してきます。
IReadOnlyList<T> FindAllAsset<T>(string directoryPath) where T : UnityEngine.Object { List<T> assets = new List<T>(); var fileNames = Directory.GetFiles(directoryPath, "*", SearchOption.AllDirectories); foreach (var fileName in fileNames) { var asset = AssetDatabase.LoadAssetAtPath<T>(fileName); if (asset != null) { assets.Add(asset); } } return assets; }
※LoadAllAssetsAtPath() は使っていないので、ネストになってるアセットまでは取得できません。