Is there currently a way to check if a bank is loaded?

For example:
On volume overlap if Bank A not loaded then load Bank A else do nothing

I have a situation where a bank load including sample data causes noticeable stutter in game. Said stutter is noticeable even after an initial bank load, leading me to believe it is loading it each time.

If it is not loading the bank, is there any overhead from triggering to to load a loaded bank?

Let me know!


  • You must to post comments
Best Answer

If you use the bBlocking flag in the FMODBlueprintStatics::LoadBank, then the function will not return until it attempts to load the bank. That means enqueuing a command, waiting for the loading thread to receive it, opening and reading the file, before finally comparing the bank ID with the set of currently loaded IDs. So it isn’t going to be instant.

Also note that if you enable bLoadSampleData then it will be a blocking load of metadata regardless of whether you enabled bBlocking.

To avoid the hitch you can call LoadBank without blocking, although that can be problematic, since any events that belong to the bank won’t be found until some time after the blueprint call.

Looking at our exposed functions, we should add a function to query a bank state for whether it is loading, loaded, or unloaded. That can help in this situation. In the meantime, you could store a bool as a blueprint variable for whether you have loaded to bank so only call it once.

  • Alec Brady

    Hey Geoff,

    Thank you for the information! The addition of that function would be be a great help in our case. We have a large number of banks which load dynamically based on game conditions – so management is a must.

  • Geoff Carlton

    As of the latest version of FMOD there is a new blueprint function IsBankLoaded that should do what you want.

  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.