FMOD Studio version: 2.02.11 64-bit Build#130436
FMOD Studio UE4 Plugin: 2.02.11
My team is running into an issue where the Master.strings.bank will sometimes report that some events are at the root of the project, instead of within their current folders. This is causing the FMOD plugin for Unreal to think that assets were removed (since they aren’t in the strings bank with the correct folder path), and a prompt is shown to delete the corresponding UAssets in Unreal when starting the editor:
Re-exporting the string bank generates the correct event paths again, but at that point it has already caused a lot of friction for other team members and on our build machine.
This often occurs to assets that aren’t actively being worked on, so we’re not sure what the root cause of the issue is.
I was debugging in
FMODStudioEditor\Private\FMODAssetBuilder.cpp to determine what has been happening. I found that
LookupRowName was correctly
event:/Music/TV_***. After updating the banks (again, with unrelated changes to this event),
Any help would be greatly appreciated! Thank you for your time
In FMOD Studio the event is not in the root directory:
Correct result when debugging:
Incorrect result caught after a bank update:
It sounds like it could be caused by conflicting strings banks or Asset/BankLookup files in source control.
Do you currently have the generated assets checked in to source control? If so then removing them from source control should resolve this, although you will need to use the Commandlet to rebuild them on your build machine.
We do have our *.bank files in source control, but all generated UAssets and the banklookup are auto-generated locally for each team member.
All our tracked FMOD assets in Unreal’s content folder:
Just set up the commandlet for the build machine, thank you! However I don’t know if that’ll make a difference for the individuals just using the editor and getting the deletion prompts. As far as I can tell the issue is occurring before anything reaches Unreal and all that configuration.
I haven’t been able to reproduce this locally so far. Is it possible that the event was previously in the root folder and there are different versions of the strings bank being checked in?
StaleAssets.Remove... is using information directly from the strings bank so it has to be related to the strings bank it is finding on disk.