Import any changed assets.
This will import any assets that have changed their content modification data or have been added-removed to the project folder.
This method implicitly triggers an asset garbage collection (see Resources.UnloadUnusedAssets).
Note: If you make changes to scripts and assets which depend on those scripts (such as prefabs) at the same time, you should use AssetDatabase.ScheduleRefresh instead.
Additional resources: ImportAssetOptions, AssetDatabase.ScheduleRefresh.
using System.Collections.Generic; using System.IO; using UnityEditor; using UnityEngine;
public class AssetDatabaseExamples : MonoBehaviour { [MenuItem("AssetDatabase/Refresh Example")] public static void RefreshExample() { var folderList = new List<string>{"Textures", "Models", "Sounds"}; foreach (var folder in folderList) { Directory.CreateDirectory($"Assets/{folder}"); }
foreach (var folder in folderList) { //Output will be false Debug.Log(AssetDatabase.IsValidFolder($"Assets/{folder}")); }
AssetDatabase.Refresh(); foreach (var folder in folderList) { //Output will be true Debug.Log(AssetDatabase.IsValidFolder($"Assets/{folder}")); } } }