Объявление
public static string CreateFolder(string parentFolder, string newFolderName);Параметры
parentFolder | Путь к родительской папке. Должен начинаться с «Активы/». |
newFolderName | Имя новой папки. |
Возвращает
string GUID вновь созданной папки, если папка была создана успешно. В противном случае возвращает пустую строку.
Описание
Создает новую папку в указанной родительской папке.
Строка родительской папки должна начинаться с папки «Активы», и все папки в строке родительской папки должны уже существовать. Например, при указании «Assets/ParentFolder1/ParentFolder2/» новая папка будет создана в «ParentFolder2», только если ParentFolder1 и ParentFolder2 уже существуют.
Примечание. Когда Unity пытается создать папку, если папка с таким же именем существует по тому же пути, Unity добавляет порядковый номер в конец имени файла. Например, «Моя папка» становится «Моя папка 1».
using UnityEngine;
using UnityEditor;
public class CreateFolderExample
{
[MenuItem("GameObject/Create Folder and Some Assets")]
static void CreateFolder()
{
AssetDatabase.CreateFolder("Assets", "My Folder");
string guid = AssetDatabase.CreateFolder("Assets/My Folder", "My Another Folder");
string newFolderPath = AssetDatabase.GUIDToAssetPath(guid);
Debug.Log(newFolderPath);
// Создать простой материальный актив в созданной папке
Material material = new Material(Shader.Find("Specular"));
string newAssetPath = newFolderPath + "/MyMaterial.mat";
AssetDatabase.CreateAsset(material, newAssetPath);
Debug.Log(AssetDatabase.GetAssetPath(material));
}
}