You've probably seen worlds where the walls pulse with the music. It's a staple effect in club worlds.
Doing it yourself looks like it starts with audio analysis. In practice, there's a mechanism that takes that whole part off your hands.
It's AudioLink. This article builds one wall panel that glows with the BGM's bass.
What You'll Learn
- The mechanism that turns audio into four numbers
- The shortest route from installation to one panel
- Splitting bands across your decorations
- Where to look when nothing glows
Start from having read materials and textures and placing spatial audio.
Audio becomes four numbers, distributed
Boiled down, AudioLink does one thing.
It analyzes the playing audio, turns it into four numbers, and distributes them across the world.

The four are bands split by pitch.
| Band | What it picks up | What it suits |
|---|---|---|
| Bass | Kick, bass | Whole walls, floors, large surfaces |
| Low Mid | Snare, guitar | Mid-sized decorations |
| High Mid | Vocals, synths | Thin strips, lines |
| Treble | Hi-hats, cymbals | Small points, fine details |
The receiving side just reads these numbers and changes brightness or color. No audio analysis required.
And the distribution isn't limited. The same numbers reach every material in the room at once. Walls, floors, and signs can each pick whichever band they like.
Three things to do in this article.
- Add AudioLink to the project
- Connect an audio source to AudioLink
- Set the wall's material to glow on Bass
No shader writing. You just fill in fields on a supporting shader.
Hands-On: Build a wall that glows on bass
Put one panel that brightens with the bass into a room with BGM playing.
1. Install AudioLink
Open the project from Creator Companion (VCC) and choose "Manage Project."
Find AudioLink in the package list and add it. If it doesn't appear, register the repository URL from AudioLink's distribution page in VCC and it will.
Return to Unity once added. An AudioLink folder appearing in the Project window means it worked.
2. Place the Prefab and connect the audio source
Prepare the following in the scene.
| Name | How to make it, and settings |
|---|---|
Bgm | Create Empty with an Audio Source. Play On Awake and Loop on |
GlowPanel | 3D Object → Quad. At the wall's position. Scale (3, 2, 1) |

Put a track with clear bass in Bgm's Audio Source. Something with a strong kick makes the motion easier to see.
Find the AudioLink Prefab in the AudioLink folder and drag it into the scene.
Select the Prefab and drag Bgm into the Audio Source field in the Inspector.
That's the only connection. AudioLink analyzes the audio from whatever Audio Source is specified there.
3. Build the glowing material
Build the material for GlowPanel. There are two routes.
Route 1: your existing shader supports it
Shaders commonly used in VRChat, like lilToon and Poiyomi, have AudioLink fields.
- Open the AudioLink-related foldout in the material's Inspector
- Check the box to enable it
- Set the destination to Emission
- Set Band to Bass
- Raise the strength
Route 2: duplicate AudioLink's sample
Without a supporting shader on hand, duplicate a sample material from AudioLink's folder.
- Right-click the sample material and choose "Duplicate"
- Name it something like
PanelGlow - Set Band to Bass
- Adjust the emission strength
Either route, you're looking at the same things.
| Field | Setting |
|---|---|
| Emission | Enabled |
| Emission color | Not pure black |
| Band | Bass |
| Strength | Not 0 |
Drag the finished material onto GlowPanel.
4. Confirm
Press Play.
| Check | Expected result |
|---|---|
| BGM is playing | You hear the audio |
| Look at the panel | Brightness changes with the kick |
| A quiet section of the track | The panel dims |
| The chorus | The panel glows strongly |
Look at it in a darker room. In a bright room it's hard to tell whether it's glowing.
If it doesn't move, first check whether the AudioLink Prefab has an Audio Source assigned. That omission is the most common cause.
Split the bands
Once one panel glows, next you build the whole room.
Putting everything on Bass means it all lights at the same moment. It's impactful, and monotonous.

Here's the guidance for splitting.
| Target | Band to watch | Why |
|---|---|---|
| Walls, floors, large surfaces | Bass | It moves slowly and largely, suiting wide areas |
| Pillars, signs | Low Mid | Mid-scale motion |
| Line lighting, thin strips | High Mid | It moves finely, suiting thin shapes |
| Small points, particles | Treble | The finest motion |
Large things slowly, small things finely. Keep that mapping and it reads convincingly.
Don't max out every strength either — only the lead. Everything glowing at full leaves nowhere to look.
Common Pitfalls
- Nothing glows at all → No Audio Source is assigned to the AudioLink Prefab
- Audio plays but nothing reacts → The material's AudioLink fields are disabled, or the strength is
0 - It glows only faintly → The Emission color is too dark. Use a brighter color
- Everything moves identically → Everything is watching Bass. Split the bands
- You can't tell the difference in a bright room → Check in a darker room. Emission shows best in the dark
- The shader has no AudioLink fields → Swap to a supporting shader. There's no need to write one
Bonus: Good to Know Up Front
- It reacts to video audio too: AudioLink watches an Audio Source's waveform. Connect a video player's audio and the room pulses with whatever's playing
- It doesn't break in worlds without AudioLink: Supporting shaders draw as ordinary materials when AudioLink isn't present. If it doesn't suit, you can remove it
- Be careful for Quest: Supporting shaders may be unavailable on some devices. If you're building the Android version too, verify with the steps in supporting Quest and phones
- Keep glowing surfaces limited: An entire room glowing tires the eyes. Leaving plenty of calm surfaces and limiting the glow to part of the space feels better
- It's useful all over: Club walls, live venue lighting, rhythm game effects, a gentle pulse in a quiet lounge. Kept subtle, it works in calm spaces too
Summary
AudioLink is a mechanism that turns audio into numbers and distributes them.
- What gets distributed is four band numbers. You don't do the analysis
- Place the Prefab and connect one Audio Source
- Glowing comes from a supporting shader's settings. You don't write it
- Large surfaces on Bass, fine details on Treble
The question to ask while building is: "Does this move large and slow, or small and fine?" That decides which band it watches.
To refine the look further, go to baking lights. To make rendering lighter, go to making rendering lighter.