3D Sounds still broken

Reproduction Steps

Join a game that contains SoundEffects such as ReverbSoundEffect or EqualizerSoundEffect and witness sounds playing when you’re not supposed to hear them.

We are having this issue in Glacier (Glacier - Roblox) for example, despite no developmental changes from our end. This is very related to 3D Sounds Broken.

Expected Behavior

I expect sounds to play only when in the desired proximity according to the sound’s properties.

Actual Behavior

Sounds are playing everywhere, mainly sounds with added effects.

Issue Area: Engine
Issue Type: Other
Impact: High
Frequency: Constantly
Date First Experienced: 2022-05-12 00:05:00 (+00:00)


Good morning! I’ve tried to reproduce this behavior on my end (in studio), but haven’t yet encountered a 3d Sound which is audible outside its RollOffMaxDistance. The things I’ve tried are:

  1. Changing the RollOffMode of the sound,
  2. adding Reverb & Equalizer SoundEffects to the Sound,
  3. routing the Sound into SoundGroup(s),
  4. attaching Reverb & Equalizer SoundEffects to those SoundGroup(s), and
  5. changing SoundService.AmbientReverb

I think what’s happening here might be slightly more complicated – are you able to create a minimal repro file (.rbxl) to help narrow in on the issue?


Hey, thank you for the fast reply!

After looking a bit more into this, I’ve found out this is related to the PlayOnRemove property, rather than the effects.

I’ve been able to create a repro of this issue:
sound bug repro.rbxl (36.2 KB)

I understand this may not be considered best practice for a lot of things, but at the same time it’s used a lot in the linked game in the op post (Glacier) for sounds that are played exactly only once and only when created.
Furthermore, this seems to apply for all the sounds I’ve tested in the game using this technique.

Ah! Ok – that may be a bug with PlayOnRemove. It looks like it ought to be taking distance into account, but maybe if you are using the Inverse rolloff mode (which is the default), the volume never fully reaches 0. As a temporary workaround, could you check if one of the other RollOffModes works? We’ll look into it