I’ve been looking for the answers to solve this problem, but now I’ve hit the dead end.
I believe that by asking here can solve my problem FOR SURE!!!

In short, every single sound from characters in the game (including background music) must attenuate their volume with fade-in and fade-out WHEN voiceover announced.
But the thing is :
1. Characters’ sound : 3d
2. Background music : 2d
3. Announcer (voiceover) : 2d

Is there any way to make this thing happen in FMOD?
I thought ‘occlusion’ would do this, but the programmer says 2D sound wouldn’t work for this.

Can your programmer modify the ‘Volume’ of the folders in the ‘Categories’ section of Designer (they should be able to)? If so, you could place all the events that you want attenuated into a category folder (e.g. everything but the voiceover), and then have the programmer fade-out the volume of this category folder whenever voiceover is triggered. This would work well if you’re using the interactive music system for you music, since that is by default connected to the ‘music’ folder in the ‘Categories’ section. In fact, if you’re using the interactive music system, I believe this is the only way that they can adjust the volume of the music.

If you’re not using the interactive music system, and you’d much rather use occlusion, you could turn all your 2D events (that you want attenuated) into 3D events, but set the ‘3D Pan Level’ to 0. This will allow the event to use occlusion and the 3D distance parameter, but it will never become mono or get panned around because of the ‘3D Pan Level’ setting. In other words, it’ll sound like a 2D sound, regardless of the distance parameter value, but you can have it occluded (or just volume attenuated) as the 3D distance parameter increases in value. I should mention that the programmer would have to ensure that all previously 2D events are now 3D emitters that are attached to the ‘listener’ or are close enough to the listener so that they don’t get attenuated during regular gameplay, and the programmer also would need to ensure that these events react to however they’re triggering the voiceover attenuation. If you guys do this voiceover attenuation by moving the listener away from the 3D emitters, then those previously 2D events would need to be disconnected from the listener to ensure that they also get attenuated.