Download Download Support FPE

How to Add 3D Audio and Background Music in Blender

How to Add 3D Audio and Background Music in Blender

Sound belongs to places and moments artists already understand: the hum lives inside the machine, the birds belong near the garden, and the music belongs to the level. Place that intent beside the art in Blender.

You will make: a Blender object that becomes a positioned Godot speaker, plus optional scene-wide background music.
WorkshopRadio selected in Blender with the Speaker checkbox enabled
Select the sound source and enable Speaker in Blender's FPE Item panel.

Turn an object into a speaker

  1. Select the mesh or empty where the sound should originate.
  2. Open Item → Folded Paper Engine and check Speaker.
  3. Under Speaker Settings, choose the project-relative Speaker File.
  4. Set Speaker Autoplay for ambience, Speaker Loop for continuous sound, volume in decibels, and Speaker Max Distance.
  5. For music that belongs to the whole level, use Scene → Background Music and its volume instead of a positioned speaker.
  6. Use triggers or frame events when playback should react to the player or animation.
FPE Speaker Settings showing an audio file loop autoplay volume and distance
Speaker Settings keeps the sound file and its spatial playback choices beside the object that emits it.

Understand the Godot building blocks

Set up one positional sound

  1. Add an AudioStreamPlayer3D beneath the object that produces the sound.
  2. Assign an imported audio stream and preview it before adding gameplay logic.
  3. Set Max Distance and attenuation so the sound fades naturally instead of stopping at an arbitrary wall.
  4. Route it to a named bus such as SFX or Ambience.
  5. Enable autoplay only for persistent ambience. Start one-shot effects in response to a signal or gameplay event.

Keep playback event-driven

A door, trigger, or animation should request a sound by meaning—DOOR_OPENED or FOOTSTEP—rather than searching for an audio node by a fragile scene path. The owning object can decide whether to restart, ignore, or vary the sound. Use animation frame events for exact timing and trigger enter/exit events for environmental loops.

FPE Scene Settings showing world and background music controls
Background music belongs to the Blender Scene panel; positional sound belongs to a Speaker object.

Handle music separately

Background music usually belongs to a level or music manager, not a 3D object. Keep one authority responsible for crossfades and duplicate prevention. Decide whether music stops at a level boundary or persists across scenes, and test that decision during rapid transitions.

Debug silent or incorrect audio

  • Confirm the stream path exists and the file imported successfully.
  • Check the player, its bus, and the bus mute/volume controls.
  • For 3D sound, confirm a current camera/listener exists and the source is inside its audible distance.
  • Check whether autoplay is actually intended or an event never fired.
  • When looping, verify the stream or player is configured to loop and that an exit event stops it.

Godot reference: AudioStreamPlayer3D class reference