We’ve dealt with a longstanding issue where clicking “Refresh Banks” in our game has done nothing, leaving banks unrefreshed and requiring larger, clunkier operations like complete FMOD studio file repathing in order to actually get our updated events into the game for testing.
I decided to investigate the FMOD Unity source code in EventManager.cs to see what is going wrong. I traced the menu item command to the UpdateCache function, and noted that the function was not completing to its end. I then noticed it had a series of branch checks that would return the function in various scenarios, prompting an end to the update and thus failing to refresh the banks silently and not notifying the developer as to why.
I traced our particular issue to the clause where it checks if banks are open by the computer and returning the function in the event. After finding this, we learned that on our end, it was Google Drive sync (our chosen collaborative method for audio editing) constantly having a hold on the files that prevented them from being refreshed by the FMOD UpdateCache() function.
While we can definitely work around this because it is our use of technology and workflow at fault, I believe it’s necessary for silent failures like this to be avoided in plugin source code, and the FMOD team should insert more debug error messages in the cases of these silent failures, so that the developer is immediately notified when the function is not running correctly, and notified the specific reason why it is not running correctly. We have lost a considerable amount of time dealing with this issue because we did not have any indication what was wrong until debugging the FMOD source code itself.