Version: 2019.2


Switch to Manual
public static AsyncOperation UnloadUnusedAssets ();


AsyncOperation Object on which you can yield to wait until the operation completes.


Unloads assets that are not used.

An asset is deemed to be unused if it isn't reached after walking the whole game object hierarchy, including script components. Static variables are also examined.

The script excecution stack, however, is not examined so an asset referenced only from within the script stack will be unloaded and, if necessary, loaded back in the next time one of its properties or methods is used. This requires extra care for assets which have been modified in memory. Make sure to call EditorUtility.SetDirty before an asset garbage collection is triggered.

See Also: EditorUtility.UnloadUnusedAssetsImmediate.