Hello!
We are working on a game where memory management is important, and we would like to know: if there is an event with a Label Parameter Sheet, does the engine load every sound in the memory at the call of the event, or does it load only the sound linked to the label we set in-game? I can’t find any answers online or on the forums.
In other words: is there anything we should be aware of, regarding the memory and label parameter sheet?
Compressed assets will be loaded with the instrument, streamed assets will be loaded as they are played.
You can also confirm things are being loaded by enabling the debug logging: FMOD_Debug_Initialize(FMOD_DEBUG_LEVEL_LOG, FMOD_DEBUG_MODE_TTY, 0,0); which will list the assets being loaded:
Hello Connor, thank you very much for your answer, it’s very clear!
I’ve got another question regarding these label Parameter sheets and the soundbanks:
If we add an event instrument to these slots instead of a single instrument, then we attribute two different soundbanks for the event instrument we want to call and the “Master Event” containing the parameter sheet and event instrument reference.
Does Fmod attribute the Master event AND the event instrument in the same soundbank when we decide to assign a soundbanks to the Master event?
Or can we attribute the event instrument in another bank so we can decide whether to load it or not while retaining the possibility of playing the master event for other sounds without a full load ?
And what about the routing? Do the events instruments will be route in the same bus as the Master event or can we route them in another bus for mixing?
Both are possible. If you open FMOD Studio’s preferences dialog and navigate to the “build” tab, you’ll see a checkbox labelled “Include referenced events in banks (reccomended).” If this checkbox is checked, referenced events will be automatically included in all the same banks as their parent events. On the other hand, if this checkbox is not checked, referenced events will only be included in the banks to which they have been explicitly assigned.
Event instruments always routed into the track of their parent event.
If you want to trigger an instrument in an event and have that instrument spawn an event instance that’s routed into the mixer, we recommend using “start event” command instruments instead. They give you less control over the spawned event instance than event instruments, but they guarantee the spawned event instance’s output will be routed into the referenced event’s location in the mixer, rather than through the parent event of the instrument.