What happens when the asset is released but the instantiated is not destroyed?

Hi, the Unity documentation says “This has the added benefit of being able to keep the load operation handle in memory and instantiating the Result as often as needed without incuring additional unwanted overhead. One downside is it’s be possible to release the load handle too early and unload all the data needed by any currently instantiated prefabs.” - This explanation refers to the option of instantiating GameObject by LoadAssetAsync instead InstantiateAsync.

Well, I decided to load the asset and make several instances, after which I unloaded the asset (Addressables.Release), but the created instances are still on the scene and displayed correctly, although based on the documentation, unloading the asset while having instances on the scene may affect the data that these instances need.

I’m confused, why, in practice, what is described in the documentation does not correspond to reality???

The memory management section says that unloading some of the assets that are included in the AssetBundle does not mean that the bundle is partially unloaded, based on this, I can assume that the instances on the scene are displayed correctly because the bundle has not been unloaded yet?

I am grateful to those who will clarify this issue!

I’ll flag with the team for some insight!

Hmm what ‘Play Mode Script’ setting were you using? If you ‘Use Asset Database’ and run in editor it will still show the objects displayed correctly, as it doesn’t do any bundle building or loading, but in standalone player you should see the instantiated objects lose some of their resources like texture. Change to ‘Use Existing Build’ and you should see it in editor as well. It all depends on how many references the handle has. When the number of references is zero, the bundle is unloaded. Load and Acquire increase reference count, Release on the handle decreases it. If resources are still there even on ‘Use Existing Build’ after releasing, the handle must have reference count greater than zero still.