FMOD text banks and Addressable groups

Hi,

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

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.

Just following up to say I can’t actually reproduce this issue with FMOD 2.01.09. What version of FMOD are you using?

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.

Hello again @ben_fmod,

A month later but I figured some things out.

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 ?

Many thanks

I updated to version 2.01.11 with the stub asset fix but I continue to lose references in the addressable groups upon entering play mode or compiling.

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.

The FMODStudio project is located at the root of the repository and at the same level as the Assets folder but not inside it.

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!

Just checking in to see if you had any luck resolving the issue. Please let us know if you need further assistance!

Hey! Again sorry for taking so much time to answer.

So it happens that EventManager is refreshing banks on each full inspector update.

static EventManager()
{
    EditorApplication.delayCall += Startup;
    ...
}

But the issue is that it does so even with an up-to-date cache.

Is this supposed to happen ?

Thanks

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.

- !/[Aa]ssets/Plugins/FMOD/libs/*
+ !/[Aa]ssets/Plugins/FMOD/**/lib/*

Appart from that everything is quite the same.

Will let you know if I have new related issues or information.

In the meantime sorry for the inconvenience and many thanks for your assistance.

That’s great, I’m glad to hear the issue is resolved for you. Please let us know if you have any further problems.