Support For Nested SoundGroups

Hello Developers,

We are excited to announce support for Nested SoundGroups within Roblox Studio starting February 21st!

Previously, creating a parent-child relationship between two SoundGroups had no effect on routing. Going forward, SoundGroups will send their audio signal from child to parent, allowing you to create an audio mix hierarchy!

This will give you control over large categories of your mix at once, without sacrificing the ability to edit individual sounds.

Before
before

After
after

Some things to be aware of when using nested SoundGroups:

  • Volume Values Will Multiply - The default volume level for a new SoundGroup is “0.5.” This means if you nest three SoundGroups, the lowest child will have an effective volume of “.125” (.5*.5*.5). It’s a good idea to set your SoundGroups to “1.0” volume when starting a new nested mix.

  • Effects Apply To Everything Below - If you plan on using any SoundEffects in your project, it’s a good idea to use nested SoundGroups to apply those effects to multiple sounds at once. Now, instead of placing a reverb on each weapon sound, create a parent SoundGroup of all of your weapons SoundGroups, and apply the same reverb only once! This is a great way to stay organized and save CPU usage.

Thanks to everyone who helped work on this new SoundGroups behavior!

313 Likes

This topic was automatically opened after 10 minutes.

Wow! Finally, Roblox gets an audio update! This is going to be really helpful when it comes to organizing sound and mass applying post-processing effects.

Are there plans to update/ add new post - processing effects?

36 Likes

Awesome. Super useful for different volume sliders + mixing.

Any chance this change in functionality is paving the path to add volume sliders for these categories in the default Roblox pause menu (or has that been considered)? Nesting seems like it’d help make larger categories for volume selection on a menu.

4 Likes

With this I think I can autogenerate audio level sliders for my settings panel without needing to set up more metadata than a few attributes. I was surprised it didn’t work this way before.

8 Likes

Okay. Now this will make for good in-game volume settings!

5 Likes

Hopefully this is the first of many updates on the audio side of things.

One of my current projects is a DAW built 100% in Roblox and the wrangling I’ve had to do with code to achieve what this update makes possible with SoundGroups alone is mind boggling.

This will make things a lot easier for me moving forward.

2 Likes

This is incredibly helpful. Manually managing the behaviour that would be present with nested SoundGroups while being able to support client settings was an absolute pain. Volume sliders would commonly conflict with the developer’s need to modify the volume of a SoundGroup based on dynamic events in gameplay. Good thing the multiplicative behaviour is also retained and propagates upwards since that’s exactly what I need for several of my experiences.

Stellar work, thanks engineers!

5 Likes

That’s very cool! Can we get an equalizer next for our sounds?

3 Likes

This is great, maybe we will be able to make ingame audio sliders finally.

1 Like

About time that in-game sounds get some attention. Would love to continue to see upgrades to Roblox sounds! This is an awesome addition.

6 Likes

I like this idea, I think it’ll fix my issue with my sounds not sounding correctly. I am excited for this feature to roll out.

1 Like

This is a great change to the SoundService! So, from my understanding, if the parent volume was 0.5 and same with the child, the total audio volume combined would be 1?

1 Like

No, it is the parent volume multiplied by the child, meaning that it would be 0.5 * 0.5, resulting in 0.25

3 Likes

Always nice for an update to account for good performance. Well done!

image
There already is an equalizer effect

I’ve always found it hard to create settings for things MasterVolume and SFX and other sound types. If I had a sound, let’s say, “Gunshot”, it would belong under MasterVolume and SFX. I would then have to adjust that volume by getting both values instead of it being performed automatically. This was going to cause a lot of clutter in my code (as sound is used from so many sources, and if I want to change a type of sound, I would have to go through every single one manually and change that as well). Now I don’t have to worry about that! Thanks!

That is a feature i didnt even think about but that will be actually really useful

What a nice improvement for sounds. This will really make organizing sounds much easier.

True true but maybe for few people it might be inadequate. since there are only 3 channels

But, overall best update for me this month!