As a developer, I want to use SoundsEffects and SoundGroups on my game sounds to create more immersive experiences, such as adding a reverb effect to a car engine sound when driving through a tunnel, but there is no way to smoothly transition into this effect and it is very jarring when the effect is suddenly activated.
With the ReverbSoundEffect especially, I would expect setting the Density property at 0 to disable the effect, and tweening Density=1 to create a smooth transition. However, the Density property has very little impact on the produced sound. Even with all values set to 0, the ReverbSoundEffect still produces a jarring impact on the sound when it is activated.
Without being able to transition sound effects, it is unfortunately often better to avoid using the effect altogether than to create a sudden change in the sounds.
ReverbSoundEffect.Density controls how dense/sparse the echoes of the Reverb are – when it’s near 0, you should be able to hear individual distinct echoes, whereas when it’s near 1, the reverb sounds like more of a cloud.
Rather than tweening density, have you tried ReverbSoundEffect.WetLevel? The DryLevel & WetLevel properties can be adjusted to control how much of the original (Dry) signal passes through the effect un-altered, compared to the reverberated (Wet) signal.
By setting WetLevel to -80, but keeping the DryLevel at 0, it should sound the same as if you had disabled the reverb altogether; and you should be able to ramp WetLevel up from -80 to a more reasonable number to accomplish the desired transition