Why use SoundGroup?
SoundGroup lets a game organize audio such as music and effects. Assigning Sound.SoundGroup makes group-level volume control possible without editing every sound individually.
Try it in Roblox Studio
Create a Sound named Theme in SoundService with a permitted audio asset. Run this Script from ServerScriptService and inspect the SoundGroup under SoundService.
Syntax
sound.SoundGroup = group
group.Volume = 0.4Examples
SoundGroup mixing
Put a configured music sound in a quieter group.
local soundService = game:GetService("SoundService")
local music = soundService:WaitForChild("Theme")
assert(music:IsA("Sound"))
local group = Instance.new("SoundGroup")
group.Name = "Music"
group.Volume = 0.4
group.Parent = soundService
music.SoundGroup = group- The group is parented to SoundService and assigned a descriptive name.
- Volume scales the output of sounds assigned to that group.
- The example does not call Play; Theme still needs a valid permitted SoundId and playback control.
Best practices
- Separate music, voice, and effects when players need independent volume controls.
- Do not create duplicate groups every time a player joins.
Runtime & versions
Luau host; Roblox engine examples require Roblox Studio. Feature availability depends on the language and runtime version used by your project; consult the official reference below.
Luau documentation