We have a mixer bus with a few insert effects (HPF & a LPF, a delay and a reverb). We created a mixer snapshot with only that bus scoped in. When the snapshot is then included in an event and the event is triggered ingame, the associated audio will finish playing but the sound will never get relelased. If the snapshot is removed, the sound will release normally. This is causing problems as the area of the game audio we want to use the snapshot with requires a sound to be released before another can be played.
Note: there is nothing in the timeline on the event.
Normally, an event will stop once all sounds have finished and the timeline cursor has reached the end. In your case, there is nothing on the timeline, so it’s just a matter of waiting for all sounds to finish.
But when does a “snapshot sound” finish? The answer is that a snapshot will continue indefinitely, until explicitly stopped. If you have a snapshot on a parameter, it will stay active while the cursor is over its trigger box. It will only stop when the cursor is moved off the trigger box (by changing the parameter value). Assuming you are not manually changing the parameter value, I think that’s what is keeping your event alive.
If you want a snapshot to apply for a fixed time and then stop automatically, the easiest way is to stick it on the event’s timeline. When the timeline cursor goes past the right edge of the snapshot’s trigger box, the snapshot will deactivate. At that point the whole event can finally stop, and then be released.
Ok, that certainly explains why it’s never being released, but with the senario in which we are using the snapshot, the snapshot parameter needs to remain constant.
To give you an idea of what we’re trying to do, the snapshot implementation we have is to simulate environmental acoustics for a sports stadium - when the game is loaded up, the snapshot input params will be set based on a small number of physical properties of the stadium. The snapshot parameter feed remains static until the player starts another game in a different environment. So changing the parameter to stop sounds is also going to alter the stadium acoustics, which is not what we want.
The only alternative I can think of is creating duplicates of all the events, putting them on different buses and setting up a different “acoustic preset” on each, but as we will have about 15-20 actors, each with well over 200 events, this is not going to be practical.
Is there an easier/better way of implementing this that I’m missing?
You can trigger snapshots independently of any event. (Under the hood, a snapshot is an event, so you can create an instance of a snapshot and set it running just as you would any event, without needing to put snapshot trigger regions into your events.) This would allow you to make the properties of your snapshots independent of the events you’re playing.