Codectionary / Developer documentation / Luau

SoundGroup mixing

Control the volume of several sounds as a group.

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.4

Examples

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
  1. The group is parented to SoundService and assigned a descriptive name.
  2. Volume scales the output of sounds assigned to that group.
  3. 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

Specifications & further reading