Unreal 4.7, FMOD loses all references to bank and all generated files when regenerated, only works on a second load of Unreal

I am havign a strange issue that is affecting my team and a large project we are part of.

We have “FMOD 2.02.15, 64bit, built #134211” set up and have been using it for several months with varying degrees of success with “Unreal 4.27.2”. We went the route of versioning our .bank files through perforce, which are stored in FMOD/Main/ in the project, and then allowing Unreal to generate all other project files locally on everyone’s machines in the FMOD folder as per the FMOD documentation.

This worked well for us initially but we are now running into a strange issue. The easiest way to illustrate the problem is when a team member syncs the unreal project at the latest revision and loads up the editor. It generates project files from the .bank files as expected, but once complete, Unreal has seemingly lost ALL FMOD event/bank etc. references in all blueprints. Reloading banks doesn’t help. We get an initial error message… unable to load asset lookup, unable to load bank lookup. The only fix is to close the editor, and reopen it, at which point all the references are perfectly fine, and the errors don’t reappear.

After some testing it appears that the problem stems from the bank.uasset files being regenerated. deleting just the events folder, or buses, private integration data, etc all seem to regenerate fine. Deleting the banks folder where the bank.uasset files are stored results in lost references unless the project is closed and reopened a second time. Deleting the events folder AND the banks folder results in even more references being lost. Luckily it seems to be temporary unless someone specifically goes into the blueprints and saves them with the missing refs, which then saves them in that state.

The team on this game is very large and the same issue affects everyone. While it is possible to get around, it has caused us quite a few misunderstandings and confusion among the dev team and us on the audio team as well. Any help would be greatly appreciated, I can provide some error screenshots with blurred-out paths and game names if necessary.

I have not been able to reproduce this issue with your versions. Are you using a launcher build or source build of UE4.27?
Just as a test (not suggesting this as a workaround), if you delete the generated Banks directory and rebuild generated assets through the commandlet before opening the editor, does that allow it to open with unbroken links?
If you could please upload your editor log to your FMOD Profile that would also help with my investigation.

We have a very similar issue on UE 5.3.
From what I can tell it is related to load/execution order.

For example our character (which references some FMOD events), is reference by the GameMode in Unreal. This is loaded very early on when booting the editor (loaded with the level)

I think what happens is that the character is loaded before the new FMOD events have been generated, and therefore cannot be referenced and get nulled out. This would also explain why it works the second time, because the FMOD assets are now created before loading the blueprint.

Running the generate command before opening the editor also works, but is not a good solution for us, as people will forget and cause lost references to be checked back in.

Looking at the FMOD Plugin code, the FMOD assets are not generated until all the “other assets” are loaded, which is too late.
We made a modification which has not seemed to have any adverse effects yet, (but are keeping an eye on it) to generate the assets immediately in FFMODStudioEditorModule::OnPostEngineInit instead of waiting for all other assets to be loaded.
Does that seem like a reasonable solution?

Thanks,

-Matt

Thanks for the info. That seems like a reasonable workaround for now. We’ll look into it on our end and aim for a fix in a future release.