AssetBundle.Unload

Declaration

public void Unload(bool unloadAllLoadedObjects);

Parameters

unloadAllLoadedObjects Determines whether the current instances of objects loaded from the AssetBundle will also be unloaded.

Description

Unloads an AssetBundle freeing its data.

When unloadAllLoadedObjects is false, tracking data structures and any memory buffers holding content of the AssetBundle will be freed. But any instances of objects loaded from this bundle will remain intact.

When unloadAllLoadedObjects is true, all objects that were loaded from this bundle will be destroyed as well. If there are GameObjects in your Scene referencing those assets, the references to them will become missing.

In either case you won't be able to load any more objects from this bundle unless it is reloaded.

Warning: Unloading an asset bundle that serves as a dependency for other asset bundles still in use can lead to undefined behavior. This includes serialization errors that may occur even if the dependency asset bundle is later reloaded. To avoid such issues, ensure that an asset bundle and all asset bundles that depend on it are unloaded together.

See AssetBundles compression for a description of the different compression formats used and their impact on memory while loaded.

Additional resources: UnloadAllAssetBundles, UnloadAsync, Using AssetBundles Natively.


Did you find this page useful? Please give it a rating: