RollOffMinDistance not working when the sound is inside a folder

Reproduction Steps

1) Open a blank project and insert a sound, looped, as child of SpawnLocation object.
2) Playing the project, and as you move away from the object, the sound volume correctly decreases
3) Now create a folder inside SpawnLocation and move the current sound as its child:
LKCXST1qps
4) Now, the sound will not decrease when you move away from the object

Expected Behavior

For organization purposes, I need to put the various types of sound an object can make inside folders.

Actual Behavior

A sound inside a folder that is a child of the object will not be reduced in volume as the player moves away from the object.

https://create.roblox.com/docs/reference/engine/classes/Sound#RollOffMinDistance

Workaround

I have to put all sounds as direct children of the object, without organization.

Issue Area: Engine
Issue Type: Other
Impact: Moderate
Frequency: Constantly

4 Likes

This is intended behavior.

Sounds must parented to a part or attachment in order for the sound to be ā€˜3Dā€™ and or take advantage of RollOff.

5 Likes

Right. Iā€™ll change this to a feature request.
Thanks.

I ran into this a week ago via the exact same ā€œfolders are great for organizing everythiā€¦ā€ mindset that Iā€™m accustomed to. Had a facepalm moment when I thought about it for a millisecond, putting 2 and 2 together to conclude that folders donā€™t have any 3D data.

I have objects that currently have distinct groups of sounds: some sounds for when the object is running, other sounds for when the object is created, others for when it is removed, etc.
It would be very easy to loop GetChildren inside each folder.
But with the current restriction, Iā€™m forced to create additional controls on each sound to tell which group it belongs to.
I know that it is possible to solve this limitation in many ways.
But as you said yourself, folders serve to make things easier, so there shouldnā€™t be this limitation just for sounds.

1 Like

I totally agree with this. This needs to be a feature especially because folders are not only great for organization, they help due to the fact that they are basically a physical representation of tables, meaning you can use math.random in them. The fact that you canā€™t have roll off on sounds when they are in folders really sucks because when you have to pick a random sound, instead of doing something like this:

Local random = sounds[math.random(1,#sounds)]

Instead, you have to do something like this:

Local random = math.random(1,2)

If random == 1 then
Sound:play()
elseif random == 2 then
Sound1:play()
end

(Sorry if this didnā€™t format Iā€™m on mobile)

ive had the same problem recently while adding multiple ambience sounds

a workaround i found to organize them was duplicating the part, and parenting it to that same part

something like this: workspace.SoundsPart, which contains main sounds and a part named MiscSounds, which contains miscellaneous sounds

the good thing about that workaround is that you can actually change the position of where the organized sounds are coming, because they are in a separate part. the bad thing is that, well, it shouldnt be a workaround anyways ĀÆ\_(惄)_/ĀÆ