Bank changes are ignored in Addressables Content Update

When using Addressables with FMOD for Unity, there is a feature that automatically executes EventManager.CopyToStreamingAssets and EventManager.UpdateBankStubAssets using Scriptable Build Pipeline PostDependencyCallback and PostWritingCallback. However, this causes issues when utilizing Addressables’ Content Update feature.

To use the Content Update feature, the hash values of all individual entries going into Addressables are recorded in the addressables_content_state.bin file. However, referring to the BuildScriptPackedMode.cs script, the action of recording hash values occurs after the AssetBundle build. After the AssetBundle build is complete, FMOD automatically calls EventManager.UpdateBankStubAssets through PostWritingCallback. As a result, the hashes recorded in the addressables_content_state.bin file are all hashes of Stub Assets. Therefore, it becomes impossible to record the hash value of the FMOD Bank, and any changes to the FMOD Bank are omitted from all content updates.

To address this issue most simply, it would be preferable to make the automatic functionalities of EventManager.CopyToStreamingAssets and EventManager.UpdateBankStubAssets using Scriptable Build Pipeline optional. Currently, when using Addressables and FMOD simultaneously while trying to utilize the Content Update feature, it is inconvenient as it requires modifying scripts within FMOD for Unity.

Thanks for the detailed description. We’ll investigate this issue and get back to you shortly.

1 Like

As Andrew said, thanks for the detailed post.

This does appear to be a valid issue and I have created a task to investigate the best solution for a future update.