AudioVolume can't change interior settings at runtime

Changing Exterior settings at runtime works fine. namely ExteriorVolume and ExteriorLPF.

how ever changing Interior settings at runtime has no effect. namely InteriorVolume and InteriorLPF.

I have tested this on a fresh project and it seems to be broken. please help. thanks

Setps to reproduce:

  1. have an ambient sound with “Apply Ambient Volumes” enabled in it’s sound class.
  2. Place an AudioVolume in world.
  3. Place the ambient sound inside AudioVolume.
  4. make blueprint event and call “SetInteriorSettings” on the AudioVolume. set the InteriorVolume to 0.
  5. play the game and call this blueprint event.

Expected

When player is outside the AudioVolume you should not hear the sound anymore. how ever if you test this with exterior settings it works. that is, place the ambient sound outside AudioVolume and set ExteriorVolume to 0 at runtime. player inside the volume no longer hears that sound.

Here is my solution after two days of struggling.

void UHelperFunctions::InvalidateCachedInteriorVolumes(UAudioComponent* AudioComponent)
{
    if (AudioComponent)
    {
        if (FAudioDevice* AudioDevice = AudioComponent->GetAudioDevice())
        {
            AudioDevice->InvalidateCachedInteriorVolumes();
        }
    }
}

Better call it hacky functions! but I call this every 0.1 seconds.