I have a FMOD studio session at the root of my repository, FMOD set to source type FMOD Studio Project and import type to Asset Bundle.
I’m manually loading text banks on game start from Addressables with RuntimeManager.LoadBank(AssetReference).
My problem is that every time I open my Unity project, FMOD scans for banks and regenerate text asset, it seems. But by doing so it breaks references between those assets and my Addressable groups, and I am forced to check the newly generated text banks as Addressable again to fix it.
It there something I’m doing wrong ? Are text banks supposed to be re-generated again everytime I open the project like so ? Would switching to source type bank fix this ?
Thanks for letting us know about this. Unfortunately FMOD currently has some issues integrating with Addressables. However, for the next release we have improved the system so that FMOD creates stub assets for your banks when the import type is Asset Bundle, and swaps in the real bank data at build time. This means you can add the stub assets to source control and assign them to your Addressable groups without references being broken when FMOD refreshes the banks. The next release with these improvements should be available within the next couple of weeks.
Thank you for your answer. I am indeed using 2.01.09 (with Unity 2020.2.7f1 and Addressables 1.18.4)
I did have a working setup at some point but since a few days I have this recurring issue. I am still trying to understand what changed, I’ll update this thread if I do, it might help you reproduce.
Since recently, not sure exactly why, FMOD started to refresh banks constantly (when compiling, entering play mode, opening the project…).
This looks like an issue with the FMODStudioCache but it seems filled with all the right references.
(Also Live Update is disabled for all platforms including Editor, not sure if this is of any use)
My issue with Addressables losing references wouldn’t be such an issue if it the banks didn’t refresh all the time even when they don’t need too.
Would you have any idea what could cause this or how could I fix it ?
Apologies, I somehow missed this detail the first time around. Do you mean your FMOD Studio project is inside your Unity project’s Assets directory? If so, this could be the cause of the problem, as Unity could be making changes within the FMOD Studio project structure and triggering a bank refresh.
I see, that shouldn’t be causing problems then. What version control system are you using? Would you be able to send us a cut-down project that reproduces the issue?
We are using Git for versioning.
An issue in our setup that we are currently investigating might have ben causing the issue.
If it acts up still after that I’ll send you a cut-down project, thanks for your help!
EventManager.Startup() should run whenever scripts are reloaded, but it should only update bank data if the source banks have changed (e.g. due to rebuilding in FMOD Studio).
Would you be able to send us a project that demonstrates the issue?
I removed and re-setup FMOD integration plugin from scratch and it fixed the issue.
Our statements in .gitignore were slightly different from those you recommended on the setup wizard.