public static T FindAsset <T>(string name, FindAssetMode type = FindAssetMode.All) where T : Object { var filter = $"t: {typeof(T).Name} {name}"; string[] assets = null; switch (type) { case FindAssetMode.All: { assets = AssetDatabase.FindAssets(filter, _allFolders); break; } case FindAssetMode.Assets: { assets = AssetDatabase.FindAssets(filter, _assetsFolders); break; } case FindAssetMode.Packages: { assets = AssetDatabase.FindAssets(filter, _packagesFolders); break; } } if (assets.Length >= 1) { return(AssetDatabase.LoadAssetAtPath <T>(AssetDatabase.GUIDToAssetPath(assets[0]))); } return(default(T)); }
public static UnityEngine.Object[] FindFolderAsset(string name, FindAssetMode type = FindAssetMode.All) { var filter = $"t: Folder {name}"; string[] assets = null; switch (type) { case FindAssetMode.All: { assets = AssetDatabase.FindAssets(filter, _allFolders); break; } case FindAssetMode.Assets: { assets = AssetDatabase.FindAssets(filter, _assetsFolders); break; } case FindAssetMode.Packages: { assets = AssetDatabase.FindAssets(filter, _packagesFolders); break; } } return(assets.Select(a => AssetDatabase.LoadAssetAtPath <UnityEngine.Object>(AssetDatabase.GUIDToAssetPath(a))).ToArray()); }