unity获取一个目录下的所有prefab路径
目录结构:

获取Prefab下的所有prefab
using System;
using System.IO;
using UnityEditor;
using UnityEngine;
public class Test
{
[MenuItem("BuildTool/Lugs")]
static void LugsTest()
{
string path = "Assets/UI/Prefab";
GetAllPrefabs(path);
}
static void GetAllPrefabs(string directory)
{
if (string.IsNullOrEmpty(directory) || !directory.StartsWith("Assets"))
throw new ArgumentException("folderPath");
string[] subFolders = Directory.GetDirectories(directory);
string[] guids = null;
string[] assetPaths = null;
int i = 0, iMax = 0;
foreach (var folder in subFolders)
{
guids = AssetDatabase.FindAssets("t:Prefab", new string[] { folder });
assetPaths = new string[guids.Length];
for (i = 0, iMax = assetPaths.Length; i < iMax; ++i)
{
assetPaths[i] = AssetDatabase.GUIDToAssetPath(guids[i]);
Debug.Log(assetPaths[i]);
}
}
}
}
执行结果:


浙公网安备 33010602011771号