Suggestion: API should add a UnloadBank() method releasing AssetReference when using Addressables

There is a LoadBank() method which loads addressable banks in the RuntimeManager:

#if UNITY_ADDRESSABLES_EXIST
        public static void LoadBank(AssetReference assetReference, bool loadSamples = false, System.Action completionCallback = null)

However there is no UnloadBank() method to mirror the call and free memory when the bank is not used anymore. From the Unity manual on Addressables:

The basic rule of thumb to avoid “memory leaks” (assets that remain in memory after they are no longer needed) is to mirror every call to a load function with a call to a release function. You can release an asset with a reference to the asset instance itself or with the result handle returned by the original load operation.

We have a task for this in our backlog- I have bumped the task. In the meantime it should just be a matter of calling AssetReference.ReleaseAsset when you are finished with the bank, and following that with a call to RuntimeManaager.UnloadBank(string), passing in the string name of the bank associated with the AssetReference.

Thanks for the reply @jeff_fmod , will be nice to have it in the official runtime API. Perhaps also consider an overload method for UnloadBank() where you can pass in an AsyncOperationHandle to be released. (useful for use cases where you have localized audio banks, and cannot pass AssetReference to the banks)