I’m loading Fmod banks manually when loading a level. The problem is that loading is not async and consumes 700ms in one frame causing the game to drop FPS significantly. This is my code for loading the banks async that doesn’t work as expected. Could someone please help what can be done to get this fixed:
public class FmodBankLoader : MonoBehaviour
[BankRef] [SerializeField] private List<string> banks;
// Iterate all the Studio Banks and start them loading in the background
// including the audio sample data
foreach (var bank in banks)
// Keep yielding the co-routine until all the Bank loading is done
yield return null;
public List<string> GetBanks()
Bump! I really wish to fix this. Anyone?
What versions of FMOD and Unity are you using?
Is this occurring in the editor or when built for a specific platform?
Are you able to share any log files?
We are using Unity 2019.1.1f1 and Fmod integration 2.01.04.
This happens in Editor on Windows and Mac.
Unity console log doesn’t really provide much. Let me know what you need and I can get it
FMOD will load banks async by default, your
LoadGameAudioAsync loops is actually blocking the thread until all the banks are finished loading and causing the 700ms delay. You can just call
Start and FMOD will load the banks asynchronously from it’s own thread.
Thank you. I will try that and let you know the results.
If the intended use is to call
RuntimeManager.LoadBank from Start directly, why do the scripting examples in the documentation show to call it as a coroutine as shown above?