2 min read

Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.

Play background music

Audio in Roblox is created with a Sound object. Sounds can be positional, such as the sound of a waterfall, or universal for all players. This tutorial will show you how to create a universal sound to play background music.

Play music

You can upload music or obtain it from the marketplace, which contains thousands of free-to-use tracks. For this tutorial, you need the asset ID of a track.

The basic steps are to copy an asset ID, create a Sound object, and use a script to play the music.

Sound setup

If a sound object is parented to a part, sound will emit from its position. If a sound object is parented to SoundService, it will play at the same volume at every point in the 3D world. This makes SoundService ideal for storing background music.

  1. In SoundService, insert a Sound object named BackgroundMusic.

    alt

  2. In the newly created sound, find the SoundId property. Paste in the previously copied sound ID (or use one below) and press Enter.

    alt

  3. Test that the sound works by clicking the Preview button.

    alt

Here are some sample music IDs you can use:

Play the song

Background music can be played through a script.

  1. In StarterPlayer ⟩ StarterPlayerScripts, create a LocalScript named MusicPlayer.

    alt

  2. In the script, create variables to store SoundService and the BackgroundMusic object.

    local SoundService = game:GetService("SoundService")
    local backgroundMusic = SoundService.BackgroundMusic
  3. Sounds are played using the Play function. In a new line, call it on the backgroundMusic variable.

    local SoundService = game:GetService("SoundService")
    local backgroundMusic = SoundService.BackgroundMusic
    
    backgroundMusic:Play()
  4. Playtest the game and confirm that the music is audible.

Audio properties

Currently, the music doesn't loop. Additionally, the original sound file may be too loud for background music. These settings can be changed through two properties.

  1. In the BackgroundMusic properties, toggle Looped to be on.

    alt

  2. Lower the Volume to around 0.25.

    alt

With this project done, explore using scripts to implement other features in music. For instance, try using a script to shuffle songs in a soundtrack or play songs in different areas of your 3D world.

For more on sounds and background music, see Audio.