# Fmod banks don't load async in Unity

**URL:** https://qa.fmod.com/t/fmod-banks-dont-load-async-in-unity/16228
**Category:** Unity
**Created:** [September 27, 2020, 12:44pm UTC](https://qa.fmod.com/t/fmod-banks-dont-load-async-in-unity/16228 "2020-09-27T12:44:49Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![farshidbij](https://avatars.discourse-cdn.com/v4/letter/f/ba9def/32.png) [@farshidbij](https://qa.fmod.com/u/farshidbij)
#### Post date: [September 27, 2020, 12:44pm UTC](https://qa.fmod.com/t/fmod-banks-dont-load-async-in-unity/16228/1 "2020-09-27T12:44:49Z")

</div>

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:

```
using System.Collections;
using System.Collections.Generic;
using FMODUnity;
using UnityEngine;

public class FmodBankLoader : MonoBehaviour
{
    [BankRef] [SerializeField] private List<string> banks;

    void Start()
    {
        StartCoroutine(LoadGameAudioAsync());
    }

    IEnumerator LoadGameAudioAsync()
    {
        // Iterate all the Studio Banks and start them loading in the background
        // including the audio sample data
        foreach (var bank in banks)
        {
            RuntimeManager.LoadBank(bank, true);
        }

        // Keep yielding the co-routine until all the Bank loading is done
        while (RuntimeManager.AnyBankLoading())
        {
            yield return null;
        }
    }

    public List<string> GetBanks()
    {
        return banks;
    }
}
```

---

<div class="post-metadata">

### Author: ![farshidbij](https://avatars.discourse-cdn.com/v4/letter/f/ba9def/32.png) [@farshidbij](https://qa.fmod.com/u/farshidbij)
#### Post date: [October 3, 2020, 8:19am UTC](https://qa.fmod.com/t/fmod-banks-dont-load-async-in-unity/16228/2 "2020-10-03T08:19:40Z")

</div>

Bump! I really wish to fix this. Anyone?

---

<div class="post-metadata">

### Author: ![cameron-fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/cameron-fmod/32/261_2.png) [@cameron-fmod](https://qa.fmod.com/u/cameron-fmod)
#### Post date: [October 7, 2020, 5:03am UTC](https://qa.fmod.com/t/fmod-banks-dont-load-async-in-unity/16228/3 "2020-10-07T05:03:37Z")

</div>

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?

---

<div class="post-metadata">

### Author: ![farshidbij](https://avatars.discourse-cdn.com/v4/letter/f/ba9def/32.png) [@farshidbij](https://qa.fmod.com/u/farshidbij)
#### Post date: [October 10, 2020, 2:34pm UTC](https://qa.fmod.com/t/fmod-banks-dont-load-async-in-unity/16228/4 "2020-10-10T14:34:25Z")

</div>

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 🙂

---

<div class="post-metadata">

### Author: ![cameron-fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/cameron-fmod/32/261_2.png) [@cameron-fmod](https://qa.fmod.com/u/cameron-fmod)
#### Post date: [October 13, 2020, 5:09am UTC](https://qa.fmod.com/t/fmod-banks-dont-load-async-in-unity/16228/5 "2020-10-13T05:09:03Z")

</div>

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 `RuntimeManager.LoadBank` from `Start` and FMOD will load the banks asynchronously from it’s own thread.

---

<div class="post-metadata">

### Author: ![farshidbij](https://avatars.discourse-cdn.com/v4/letter/f/ba9def/32.png) [@farshidbij](https://qa.fmod.com/u/farshidbij)
#### Post date: [October 15, 2020, 10:10pm UTC](https://qa.fmod.com/t/fmod-banks-dont-load-async-in-unity/16228/6 "2020-10-15T22:10:36Z")

</div>

Thank you. I will try that and let you know the results.

---

<div class="post-metadata">

### Author: ![sgrossman](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/sgrossman/32/1948_2.png) [@sgrossman](https://qa.fmod.com/u/sgrossman)
#### Post date: [February 23, 2021, 7:45pm UTC](https://qa.fmod.com/t/fmod-banks-dont-load-async-in-unity/16228/7 "2021-02-23T19:45:22Z")

</div>

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?  
[https://www.fmod.com/resources/documentation-unity?version=2.1&page=examples-async-loading.html](https://www.fmod.com/resources/documentation-unity?version=2.1&page=examples-async-loading.html)

---

<div class="post-metadata">

### Author: ![Vulgo\_Rox](https://avatars.discourse-cdn.com/v4/letter/v/3da27b/32.png) [@Vulgo\_Rox](https://qa.fmod.com/u/Vulgo_Rox)
#### Post date: [June 14, 2025, 7:22pm UTC](https://qa.fmod.com/t/fmod-banks-dont-load-async-in-unity/16228/8 "2025-06-14T19:22:58Z")

</div>

I got to this problem today, it’s being 4 years already.  
RuntimeManager is loading banks with LOAD\_BANK\_FLAGS.NORMAL instead of LOAD\_BANK\_FLAGS.NONBLOCKING.  
Every vehicle in my game has a bank that get’s loaded only when they spawn, and this problem is dropping my fps, specially for mobile.  
Should I just skip RuntimeManager entirely and implement my loadings directly with studio and core classes or am I missing something?
