Объявление
public static void ImportAsset(string path, ImportAssetOptions options = ImportAssetOptions.Default);Описание
Импортировать объект по пути.
Это импортирует актив по указанному пути и запускает ряд обратных вызовов, включая AssetModificationProcessor.OnWillSaveAssets и AssetPostProcessor.OnPostProcessAllAssets.
Все пути указаны относительно папки проекта, например: "Assets/MyTextures/hello.png"
Смотрите так же: ImportAssetOptions.
using System.IO;
using UnityEditor;
using UnityEngine;
public class ImportAssetExample : MonoBehaviour
{
[MenuItem("APIExamples/ImportAsset")]
static void ImportAssetOnlyImportsSingleAsset()
{
string[] fileNames = new[] { "test_file01.txt", "test_file02.txt" };
for (int i = 0; i < fileNames.Length; ++i)
{
var unimportedFileName = fileNames[i];
var assetsPath = Application.dataPath + "/Artifacts/" + unimportedFileName;
File.WriteAllText(assetsPath, "Testing 123");
}
var relativePath = "Assets/Artifacts/test_file01.txt";
AssetDatabase.ImportAsset(relativePath);
}
}
public class PostProcessImportAsset : AssetPostprocessor
{
//Исходя из этого примера, вывод этой функции должен быть:
// OnPostprocessAllAssets
// Импортировано: Активы/Артефакты/test_file01.txt
//
//test_file02.txt не должен даже отображаться в браузере проектов
//пока не произойдет обновление.
static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
{
Debug.Log("OnPostprocessAllAssets");
foreach (var imported in importedAssets)
Debug.Log("Imported: " + imported);
foreach (var deleted in deletedAssets)
Debug.Log("Deleted: " + deleted);
foreach (var moved in movedAssets)
Debug.Log("Moved: " + moved);
foreach (var movedFromAsset in movedFromAssetPaths)
Debug.Log("Moved from Asset: " + movedFromAsset);
}
}