How to Stop Voice When Playing Death Voice?

I have several voice events for a character named “Jack,” such as:

  • vo_Jack_Attack
  • vo_Jack_Jump
  • vo_Jack_Fly
  • vo_Jack_Crouch
  • vo_Jack_Defense
  • vo_Jack_Death

All voice events, except for vo_Jack_Death, play dynamically based on in-game conditions. Since Jack is a single character, the instance count is limited to 1.

However, when the character dies, I need to immediately stop all currently playing Jack’s voice events and ensure that vo_Jack_Death is played.

I initially thought this could be handled using priority settings, but it seems that doesn’t work. In Wwise, this can be easily achieved by stopping all voice events that start with “vo_Jack” when vo_Jack_Death is triggered.

I know this can be done in FMOD by using Stop Event - Command Instruments, but if there are many voice events, I would need to create dozens of them manually.

Is there a more efficient way to achieve this within FMOD? Any best practices or tips would be greatly appreciated!

Hi,

An option could be using a Group Bus (FMOD Studio | Mixing - Group Bus and Routing) which has the ability to stop all events routed into it:
image
with a blueprint call:


Unreal Integration | Blueprint Reference - Bus::StopAllEvents

Hope this helps!

Thank you very much for your response.

I am already using that node function when the boss appears in the game. However, I want to handle everything within FMOD. Could you add a Bus Stop option to the Command Instrument like Event Stop?

1 Like

You could, after grouping the event in a bus as said before, use a snapshot you’d call in the death event, which would duck that bus.

1 Like

This is a great suggestion and the events will be virtualized automatically to reproduce CPU useage and their playback positions will continue to progress as well: FMOD Engine | White Papers - Virtual Voices.

There is a task to investigate implementing a Stop Bus command instrument. I will note your interest.