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
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!
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?
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.
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.
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.
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.
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?
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!