# What's the best way to load banks?

**URL:** <https://qa.fmod.com/t/whats-the-best-way-to-load-banks/16960>\
**Category:** Unreal Engine\
**Created:** [March 30, 2021, 12:10am UTC](https://qa.fmod.com/t/whats-the-best-way-to-load-banks/16960 "2021-03-30T00:10:47Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![C418](https://avatars.discourse-cdn.com/v4/letter/c/c2a13f/32.png) [@C418](https://qa.fmod.com/u/C418)\
**Post date:** [March 30, 2021, 12:10am UTC](https://qa.fmod.com/t/whats-the-best-way-to-load-banks/16960/1 "2021-03-30T00:10:47Z")

</div>

We’ve encountered a fun little issue that I am unclear on.

So when building a game in Unreal, the immediate first level that gets loaded needs a different bank than the Master bank, so I load it like so…

![loading banks](https://canada1.discourse-cdn.com/flex036/uploads/fmod/original/2X/d/d33317590ecfb759775d29f9838351a48a60c7f9.jpeg)

However, this seems to cause issues where the bank might have not loaded fast(?) enough, resulting in FMOD events not triggering at all.

So, that makes me wonder, what’s the best way to load banks so issues like that don’t happen?

Am I perhaps running into an issue here where the very first loaded map in unreal HAS to be a master bank?

---

<div class="post-metadata">

**Author:** ![Alcibiade](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/alcibiade/32/4284_2.png) [@Alcibiade](https://qa.fmod.com/u/Alcibiade)\
**Post date:** [March 30, 2021, 9:47am UTC](https://qa.fmod.com/t/whats-the-best-way-to-load-banks/16960/2 "2021-03-30T09:47:18Z")

</div>

If your bank has to be loaded at the beginning of the game, why don’t you load it at the same time as the master bank?  
Here is a great answer on managing banks, that maybe don’t respond exactly to your case but could interest you: [Bank management: best practices? - #5 by richard\_simms](https://qa.fmod.com/t/bank-management-best-practices/16887/5)

---

<div class="post-metadata">

**Author:** ![C418](https://avatars.discourse-cdn.com/v4/letter/c/c2a13f/32.png) [@C418](https://qa.fmod.com/u/C418)\
**Post date:** [March 30, 2021, 4:48pm UTC](https://qa.fmod.com/t/whats-the-best-way-to-load-banks/16960/3 "2021-03-30T16:48:10Z")

</div>

Hey thanks, this is actually helpful information! Simply put, this is my first time using FMOD, so I just didn’t know the best practices!

---

<div class="post-metadata">

**Author:** ![joseph](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/joseph/32/264_2.png) [@joseph](https://qa.fmod.com/u/joseph)\
**Post date:** [March 30, 2021, 11:51pm UTC](https://qa.fmod.com/t/whats-the-best-way-to-load-banks/16960/4 "2021-03-30T23:51:29Z")

</div>

Alcibiade’s answer is correct: If you need a bank’s content at the start of the game, you should load that bank at the start of the game.

> [@C418](#):
>
> Am I perhaps running into an issue here where the very first loaded map in unreal HAS to be a master bank?

The master bank includes all the things that aren’t specific to any one event, but that _every_ event needs to function. For example, it includes the project mixer, without which none of your events can be correctly routed or mixed. You should therefore load the master bank when your game first starts, and keep it loaded until your game is exited. Other banks can be loaded and unloaded as the need arises, but the master bank always needs to be there in the background.

Many FMOD Studio users deliberately don’t assign any events to the master bank, unless they’re confident those events might need to be played at almost any time in their games.

---

<div class="post-metadata">

**Author:** ![Alcibiade](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/alcibiade/32/4284_2.png) [@Alcibiade](https://qa.fmod.com/u/Alcibiade)\
**Post date:** [March 31, 2021, 11:36am UTC](https://qa.fmod.com/t/whats-the-best-way-to-load-banks/16960/5 "2021-03-31T11:36:37Z")

</div>

> [@joseph](#):
>
> Many FMOD Studio users deliberately don’t assign any events to the master bank, unless they’re confident those events might need to be played at almost any time in their games.

I would tend to do the opposite: everything in the master bank, until it appears there’s a good reason to split banks. 🙂 (hence the post I quoted before)

---

<div class="post-metadata">

**Author:** ![niu](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/niu/32/144_2.png) [@niu](https://qa.fmod.com/u/niu)\
**Post date:** [April 18, 2021, 4:34pm UTC](https://qa.fmod.com/t/whats-the-best-way-to-load-banks/16960/6 "2021-04-18T16:34:05Z")

</div>

I thought that loading everything on the Master Bank would take unnecessary resources and it was my understanding that it would be generally better to leave it empty unless absolutely necessary. Is that wrong?

---

<div class="post-metadata">

**Author:** ![Alcibiade](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/alcibiade/32/4284_2.png) [@Alcibiade](https://qa.fmod.com/u/Alcibiade)\
**Post date:** [April 18, 2021, 6:10pm UTC](https://qa.fmod.com/t/whats-the-best-way-to-load-banks/16960/7 "2021-04-18T18:10:52Z")

</div>

The doc says:

> Assigning events to a master bank is not recommended. This is because a master bank must be loaded at all times, meaning that it is not possible to unload the bank in order to conserve memory. However, in small projects where only one bank is needed, assigning events to the master bank may be more viable.

and

> Because a master bank is loaded into memory at all times, it is generally best for performance to keep it as small as possible by assigning no events to it.

But that’s confusing in some aspects, that’s why I created [this post](https://qa.fmod.com/t/bank-management-best-practices/16887) and get a thorough answer by richard\_simms. To sum up, the doc was aimed more at big projects. If you intend to load and forget all your banks at the beginning of your game, you have your answer: you won’t benefit from splitting your banks rather than putting everything in the master bank, in terms of memory management.

---

<div class="post-metadata">

**Author:** ![niu](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/niu/32/144_2.png) [@niu](https://qa.fmod.com/u/niu)\
**Post date:** [April 18, 2021, 8:58pm UTC](https://qa.fmod.com/t/whats-the-best-way-to-load-banks/16960/8 "2021-04-18T20:58:54Z")

</div>

That makes sense, thanks

---

<div class="post-metadata">

**Author:** ![magrotten](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/magrotten/32/3968_2.png) [@magrotten](https://qa.fmod.com/u/magrotten)\
**Post date:** [March 21, 2024, 2:32pm UTC](https://qa.fmod.com/t/whats-the-best-way-to-load-banks/16960/9 "2024-03-21T14:32:54Z")

</div>

i split out banks to make pushing faster/more granular to source control

---

<div class="post-metadata">

**Author:** ![joseph](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/joseph/32/264_2.png) [@joseph](https://qa.fmod.com/u/joseph)\
**Post date:** [March 22, 2024, 3:04am UTC](https://qa.fmod.com/t/whats-the-best-way-to-load-banks/16960/10 "2024-03-22T03:04:12Z")

</div>

> [@magrotten](#):
>
> split out banks to make pushing faster/more granular to source control

While that is more efficient when updating just one or two banks, be aware that every bank adds a small amount of overhead, so having many small banks will result in a larger total bank size than having fewer, larger banks with the same content. It’s a trade-off that’s appropriate for some projects, but not others.
