I want to duck one event when another event is playing

Basically,

I have 3 switches in the game. Each switch is randomly generated on a grid.
Enemies approach the switches and turn them off (That triggers a sound).

There is a different sound for each switch.

No.1 switch is always hit first, followed by 2 and then finally 3.

My issue is, Sometimes, the switches get generated very close to each other and the quick overlapping of each switch-sound masks and muddies the mix. I don’t want that.

I would like to be able to duck the sound from the previous switch that got hit and for the later switch that was hit (a few milliseconds after) to keep playing. So, effectively, you really only hear one switch.

I have looked into parameters, nested events, sidechaining… I can see that it is possible.

However…I feel like i’m overcomplicating this. What is the simplist way to achieve what I am wanting?
Is it any of these options that I have mentioned?
If so, could anyone guide me quickly into how to achieve it?

The 3 switch sounds are currently set as individual events.

Off the top of my head, the simplest option would be to use snapshots and snapshot instruments.

  1. Route each switch event into a different group bus.
  2. Create two snapshots, one of which ducks the first switch’s bus and another of which ducks the second switch’s bus.
  3. Add a snapshot instrument to your second switch event that references the snapshot that ducks the first switch event’s bus.
  4. Add a snapshot instrument to your third switch event that references the snapshot that ducks the second switch event’s bus.