[VRChat] BGM and Spatial Audio: Sound Everywhere, and Sound You Walk Toward

Created: 2026-09-08Last updated: 2026-09-09

Separating BGM that plays at the same volume anywhere from ambient sound that grows as you approach. Covers volume targets, distance falloff settings, and picking a level that doesn't get in the way of conversation.

The floors and lights are settled. But stepping in, it's oddly quiet.

You want to add sound, and here you need to separate two kinds: BGM that plays at the same volume wherever you are in the room, and ambient sound that grows as you approach its location. Get the settings wrong and a waterfall roars in your ear while you're standing in a corner.

This article separates the two and settles on a volume that doesn't get in the way of conversation.

Ripples of sound spreading from a fountain in the corner, with faint BGM across the room

What You'll Learn

  • How to build 2D sound and 3D sound separately
  • How to decide how far a sound carries
  • A volume target that doesn't interfere with conversation
  • Import settings for audio files

Start from a scene with a floor. If you don't have one, build it in your first world.

Sponsored


Sound that plays everywhere, and sound that belongs to a place

There are two ways to place sound. The only difference is whether distance changes it.

2D sound is identical anywhere in the room; 3D sound grows as you approach
  • 2D sound: The same volume wherever you are in the room. For BGM and overall atmosphere
  • 3D sound: Louder near the source, quieter far from it. For fountains, campfires, machines, speakers

In Unity you switch between these with the AudioSource's Spatial Blend setting. 0 is 2D, 1 is 3D.

In VRChat you also add a VRC Spatial Audio Source component. It exists to use VRChat's own distance falloff, and adding it brings an AudioSource with it.

One more thing makes volume easier to decide. A player's voice carries 25m by default. BGM and ambience belong below that voice. VRChat is a place where conversation is the main event, so music that asserts itself makes it hard to stay.

Sponsored

Hands-On: Separate BGM and a fountain

Use the same audio file to hear the difference between 2D and 3D.

1. Import a test sound

A comparison sound is provided. Download the test WAV (mono, 44.1kHz, 16-bit PCM)

Create an Assets/Audio folder in Project and drag the downloaded file in.

If you use your own audio, check the rights. The distribution site's terms decide whether it may be used in a world. Commercial tracks and audio ripped from other games can't be used.

2. Place 2D BGM

Create WorldBGM with "Create Empty" and set its Position to (0, 1, 0).

Add VRC Spatial Audio Source via "Add Component," which brings an AudioSource along.

FieldSetting
AudioClipThe sound you imported
Play On AwakeEnabled
LoopEnabled
Volume0.12
Spatial Blend0 (fully 2D)

On the VRC Spatial Audio Source side, disable Use Spatialized Audio.

Change both of these. Changing only Spatial Blend, or only the spatialization toggle, and concluding "distance no longer matters" leads to a mismatch later.

Press Play and walk the room's center, corners, and entrance. Success is the volume not changing wherever you stand.

Once you've confirmed it, disable WorldBGM's AudioSource for now, so it doesn't overlap the next sound.

3. Place 3D ambience

Create RoomSpeaker with "Create Empty" and set its Position to (0, 1.2, 1.5). Picture a fountain or a campfire there.

Add VRC Spatial Audio Source the same way.

FieldSetting
AudioClipThe same sound
Play On AwakeEnabled
LoopEnabled
Volume0.25
Spatial Blend1 (fully 3D)
Doppler Level0 (unneeded for a stationary source)

On the VRC Spatial Audio Source side, enable spatialization and set this.

FieldSettingMeaning
Gain0 dBNo extra amplification
Near0 mThe distance within which there's no falloff
Far4 mThe distance at which it becomes inaudible
Volumetric Radius0 mTreat it as a point source

So you can see where the source is, place a Cube as SpeakerMarker at (0, 1.2, 1.5), Scale (0.3, 0.3, 0.3). It's a marker — nothing about the sound requires it.

4. Check the distance

Identical volume out to Near, inaudible at Far

Press Play and move toward and away from the source.

MovementExpected result
Stand right beside the sourceClearly audible
Step back three pacesQuieter
Go to the opposite cornerNearly inaudible
Circle around the sourceLeft and right balance shifts

Change Far from 4 to 10 and walk again. Now it carries to the corner of the room. Far is "the distance at which it becomes inaudible." The default is 40m, which is far too wide for a small room.

Near is "the distance within which there's no falloff." Leaving it at 0 is enough in most cases. Use Volumetric Radius only when the source itself has physical extent, like a waterfall or a large machine.

Set volume by "can you talk without raising your voice"

This measure is more reliable than any number.

A volume where you can talk without raising your voice is the right one

Starting points look like this.

UseVolume target
BGM (2D)0.080.15
Near ambient sound (3D)0.20.35
GainLeave at 0

Don't raise Gain first. It's strong amplification, and even 10dB feels considerably louder. Consider it only when raising Volume toward 0.5 still isn't enough.

The process:

  1. Set Volume low and enter with Build & Test
  2. Speak out loud yourself (better still with a friend)
  3. If you can talk without raising your voice, it passes

Putting the judgment into words:

  • Too loud: The track asserts itself the moment you walk in and conversation snags on it
  • Just right: You notice it, but it recedes once you start talking
  • Good as ambience: Near the source you can tell "there's a fountain here," and two or three steps away it's out of conversation's way

One more thing: sound adds up. A campfire, rain, insects, and BGM all at 0.3 may each be fine alone but is too much in the room. When you add sound, pull everything down another notch.

Editor headphones and VRChat don't sound the same. Always do the final check in VRChat itself.

Sponsored

Common Pitfalls

  • No sound → Check that an AudioClip is assigned, Play On Awake is on, Volume isn't 0, and Mute isn't checked
  • Set to 3D but the volume is the same everywhere → Check that Spatial Blend is 1 and that VRC Spatial Audio Source's spatialization is enabled. Both
  • Loud even from far away → Far is too large. Or it's actually still 2D
  • Quiet even up close → Raise Volume. If it's still quiet, the source file itself may be quiet
  • The sound distorts → You've added Gain on top of Volume 1. Lower the Volume

Bonus: Good to Know Up Front

  • Make 3D sounds mono: Enabling Force To Mono in the import settings stabilizes the direction and cuts size. 2D BGM can stay stereo
  • Stream long files: For long files like BGM, setting Load Type to Streaming saves memory. Short effects suit Decompress On Load
  • Sometimes Play On Awake should be off: Sounds triggered by a button shouldn't fire the moment someone walks in. Covered in toggling with a button
  • Quest and phones limit AudioSources: Cut the number playing at once and go easy on constant loops. Compress long files more aggressively
  • Let visitors control the volume: A slider in the world for BGM volume is a kindness. Covered in building world-space UI

Summary

Sound splits in two, by whether distance changes it.

  • 2D is the same volume everywhere; 3D grows as you approach
  • Line up both Spatial Blend and VRC Spatial Audio Source's spatialization
  • Far is "the distance at which it becomes inaudible." 4–10m for a small room
  • Set volume by "can you talk without raising your voice," not by a number

The question to ask after placing it is: "With this sound running, can people hold a normal conversation?" If not, turn it down, however good the track is.

Once the sound is settled, go to building a wall that reacts to music with AudioLink to make things light up with the audio, or the path from entrance to seat to arrange where people settle.

VRChat Notes in this section63