Auto Activated Event silent, when bank loads to late

I have an issue with some ambient events in the level, which are sourced by a level-specific bank.
The bank is loaded just for that level and not in general.
Events that are started with “auto-activation”, I guess, start too soon before the level bank is loaded.
The result is, that the Events stay silent.
Is there a way to delay the “auto-activation” for FMOD events?
Any other ideas to fix that?

Hi,
Could I suggest setting the FMOD Logging Level to Warning in the FMOD Integration Settings:


This will provide more information in the console why the events are not playing.

Unfortunately, there is no native way to delay autio-activation, rather an option is adding a blueprint that checks if a bank has been loaded before starting an event:


Let me know if this solution works for your situation.

Hello,
it seems like that setting up a “Is Bank Loaded” check is not sufficient for the project. I think that’s because the level loading is within a custom level status system, integrated into other backend systems for story progress and so on.

For me it would be interesting to know, how a standard workflow would be handled, if the level itself is always loaded - with all the events placed in it, but from one gameplay part to another the content changes, and with that banks get loaded and unloaded.
I thought that FMOD would notice that and retrigger “auto-activated” events when belonging banks are getting loaded to “already running” events.
Sadly I got that wrong…

Hi,

I see, could you explain how you’re loading your banks? It might be possible to link playing the events to this.

We have a Blueprint reference for Asynchronous loading here: Unreal Integration | Blueprint Reference - Asynchronous Loading. Standard practice is loading banks in a loading screen along with other level crucial assets, this allows for all the events relying on those banks to play once the level is loaded.

Unfortunately, we do not currently have this behavior. However, I can pass it on to our development team to look into further.

The current solution is, that there is an AudioScripting Actor BluePrint in the level, which on loading in the map, contains a list with the level-specific banks - all other general banks load beforehand.
…I see the issue, that this only can result in a load up of the bank after the events are started.
The short version of the process is, that the ASA has a List of the banks it wants to load, and the AudioSystem (FMOD Core and API stuff, not made by me, but by one of our programmers) then gets that list and tries to execute the loading of the bank.
We abstracted the AudioSystem to use it simultaneously in different other game systems and get it more fail-safe. If something is broken in one system, for example, it does not break other systems.

Thanks! That would be awesome!

1 Like

Hi,

Thank you for the explanation. Could you please elaborate on why using the Is Bank Loaded node is inefficient? An option maybe since the programmers are using the API they could use FMOD Engine | Studio API Reference - Bank::getEventList to play the event’s attached to the bank after it has been loaded?

Hi Connor,

hm, I would like to understand it more in-depth myself. For that, I have to wait for the task actually start in the development.
The programmer said in short “Check if bank is loaded” i don’t want to have in this form. too many individual things that check this independently, that makes little sense.
It’s probably still because of the way the level loading works - which basically constructs the level status based on the story part it gets.

Hi,

I see, thank you for explaining. Maybe once the system has been worked on we can look into ways of delaying the events that will be sufficient? For the time being, I have passed on your suggestion to the development team and when there is more information we can look into developing the feature further.

Is there anything else I can assist with?

1 Like