ImportAsset(string, ImportAssetOptions)
Import asset at path.
Read time 1 minuteLast updated 5 days ago
Definition
- Type: Method
- Namespace: UnityEditor
- Assembly: UnityEditor.CoreModule
public static void ImportAsset(string path, ImportAssetOptions options)
Parameters
Remarks
Import an asset at the specified path. Calling this method triggers a number of callbacks including AssetModificationProcessor.OnWillSaveAssets(string[]) and AssetPostprocessor.OnPostprocessAllAssets(string[], string[], string[], string[], bool).
All paths are relative to the project folder, for example: "Assets/MyTextures/hello.png"
Additional Resources: ImportAssetOptions.
Examples
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{ //Based on this example, the output from this function should be: // OnPostprocessAllAssets // Imported: Assets/Artifacts/test_file01.txt // //test_file02.txt should not even show up on the Project Browser //until a refresh happens. 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); }}