Banks not updating when reverted and built again

Since updating to FMOD Studio 2.03.07, I have noticed some unexpected behaviour with bank building.

After making some edits to the project and saving, I rebuilt the banks for Desktop. As expected, Perforce indicated that several banks had been updated.

I had reason to revert the banks and come back to it later. So later I loaded up the project and built the banks again. It was suspiciously quick, just some brief messages saying “checking dependencies for…” and then done. When I checked Perforce it indicated that no banks had changed at all.

I tried deleting the .cache folder and building the banks again. This time the banks updated the same as the first time I built them. Reverting the banks and building again… nothing.

I did not see this issue with FMOD 2.02.07. Has something changed with the dependency checking? It seems like it is not accounting for bank files being reverted or changed outside of FMOD.

We have set a custom built banks output directory, in case that is relevant.

I ran into this issue yesterday when using F7 to build banks. The workaround I could find is going to the Banks tab in the Event Editor, select Banks I want to build, and then right-click on them and select Build.

1 Like

Hi,

Only building banks that contain modified events was added as a feature in 2.02.13; some interaction between this and Perforce may explain the behavior you’re observing. Unfortunately, I haven’t been able to reproduce the issue on my end. A few questions:

  • What specifically are you using to trigger bank building? For example:
    • File → Build, or F7
    • File → Build All Platforms, or Ctrl+F7
    • Right click → Build or Build for all platforms in the Banks tab
    • via the Studio Scripting API
  • Are you using the Studio perforce integration, or solely using Perforce externally?
  • Does the workaround provided by @dquartz also work in your case?

For clarity’s sake, could I also get the exact series of steps that reproduce the issue for you, specifically including the changes you’re making to events/banks?

What specifically are you using to trigger bank building?

I am using F7 to build the banks. The issue also occurs if I use Ctrl-F7 to build for all platforms.

Are you using the Studio perforce integration, or solely using Perforce externally?

I am using the Studio Perforce integration. I just go to the Perforce client to revert any unchanged files before submitting.

could I also get the exact series of steps that reproduce the issue for you

  1. Open FMOD Studio project
  2. Make some edits (eg. change an event’s fader volume)
  3. Save the project
  4. Build banks via F7
  5. Go to Perforce
  6. Observe that one or more banks changed
  7. Revert the bank files in Perforce
  8. Go back to FMOD Studio
  9. Build banks via F7
  10. Go to Perforce
  11. Observe that no banks changed

Does the workaround provided by @dquartz also work in your case?

It does!

I was able to reproduce this issue using the FMOD example project, even with no Perforce integration. These are the steps:

  1. Open example project
  2. Build banks via F7
  3. Go to Explorer
  4. Make a copy of “Build\Desktop” to “Build\Desktop - Copy”
  5. Go back to FMOD Studio
  6. Change the fader volume of “Ambience/City” to -6 dB
  7. Save the project
  8. Build banks via F7
  9. Using a diff tool, compare the contents of “Build\Desktop” and “Build\Desktop - Copy”
  10. Observe that “SFX.bank” changed, as expected
  11. Copy the old banks from “Build\Desktop - Copy” to “Build\Desktop”
  12. Go back to FMOD Studio
  13. Build banks via F7
  14. Using a diff tool, compare the contents of “Build\Desktop” and “Build\Desktop - Copy”
  15. Observe that no banks changed

Thanks for the repro steps! I’ve been able to reproduce the issue on my end, which seems to be 2.03-specific. Unfortunately i don’t have any workarounds to offer besides the one that dquartz has mentioned, but I’ve passed the issue along to the development team for further investigation.

Thanks for highlighting the issue, the root cause was a subtle difference between Qt5 and Qt6 causing our .bank modification check to get skipped. I’ve got a fix prepared for 2.03.08, I highly recommend you take the update when it comes out.

Excellent! Many thanks, Mat.