Missing file on build leads to crash

Hello,

On our setup we have the master bank with two localized audio tables. Building on FMOD gives us the four expected files (2 *.banks, 2 *.strings.bank).

However, when building on Unity, one of the *.strings.bank does not get copied to the “StreamingAssets” folder, which in turn causes the build to crash if it tries to use this localized bank. This happens even if the localized bank, and the corresponding string bank ,are explicit set to load on Initialization at FMOD’s Settings in Unity.

image

My investigation led me to this piece of code on EventManager.cs:

  if (!stringBankGuids.Add(stringBankGuid))
  {
      // If we encounter multiple string banks with the same GUID then only use the first. This handles the scenario where
      // a Studio project is cloned and extended for DLC with a new master bank name.
      continue;
  }

It seems the localized banks have the same GUID, which makes sense. However, in this case we want to either copy first the string bank that is set on FMOD’s setting, or copy both string banks so they are available on the build.

Now, I’m missing something, or this is a bug ? What are the suggestions on how to handle our case?

Here is the specs for the project:
FMOD 2.02.04
Unity 2020.3.31f
FMOD Studio Unity Integration 2.02.03

Can you please try moving your audio tables to something other than the master bank? I suspect having localized audio tables is conflicting with the need to have a Master and Master.strings bank loaded at all times.

Sorry for the late reply, but yeah this worked.
Would this be the recommended way to handle localized audio tables? I don’t have much experience with localization :smile:

Good to hear that fixed things- this is the recommended way of dealing with audio tables. We are in the process of adding this reccomendation to our docs to prevent these kinds of confusing situations.

1 Like