-
Notifications
You must be signed in to change notification settings - Fork 8
How to Set Up Reverb
Guribo edited this page Jul 5, 2026
·
3 revisions
Step-by-step guide for adding reverb to player voices and world audio in your scene.
-
TLP_PlayerAudioController prefab in your scene at
Packages/tlp.udonvoiceutils/Runtime/Prefabs/Core/TLP_PlayerAudioController.prefab -
TLP_Essentials prefab at
Packages/tlp.udonutils/Runtime/Prefabs/TLP_Essentials.prefab
Adds reverb to all player voices when they are inside a zone with reverb configured.
The prefab already includes an AudioReverbFilter on the ActiveGlobalAudioEffects child, pre-assigned to MainAudioReverbFilter. By default the preset is Off.
- Expand
TLP_PlayerAudioController→ActiveGlobalAudioEffectsin the hierarchy - Select the
AudioReverbFiltercomponent - Change Reverb Preset from
Offto your desired preset (e.g.ConcertHall,Cave,Room)
This filter is activated when a player enters a zone with reverb and deactivated when they leave.
- Create a child GameObject on your zone's
PlayerAudioOverride(name it e.g.OptionalReverb) - Add an AudioReverbFilter component to it
- Configure the reverb preset for this zone
- Disable the GameObject — the system enables it automatically when a player enters the zone and disables it when they leave
- Assign the
AudioReverbFilterto theOptional Reverbfield onPlayerAudioOverride
When a player enters this zone, the controller copies the zone's reverb settings to the main filter. When they leave, reverb is cleared.
- Play in editor with ClientSim
- Walk into the zone — voice should have reverb
- Walk out — reverb should stop
Adds distance-based reverb to scene AudioSources (music, ambient, sound effects) managed by the WorldAudio system.
- Add an OccludedEmitter component to your AudioSource GameObject
- The required
ReverbController,AudioSourceStateController,AudioLowPassFilter, andAudioReverbFilterare added automatically
Select the ReverbController component on the same GameObject:
| Field | Default | Description |
|---|---|---|
ReverbImpactWhenClose |
0.5 |
How much reverb applies at close range. 0 = off when close, 1 = always 100% |
LowpassFilterCurveExponent |
2 |
Controls how quickly the lowpass filter drops. 1 = linear, 2 = quadratic |
- Play in editor with ClientSim
- Walk toward the AudioSource — reverb should be subtle at close range
- Walk away — reverb should increase as clarity decreases
| Symptom | Cause | Fix |
|---|---|---|
| No reverb on player voice | Reverb preset still Off on ActiveGlobalAudioEffects
|
Change preset from Off to desired reverb |
| Reverb not changing per zone |
Optional Reverb not assigned on override |
Assign AudioReverbFilter to Optional Reverb field |
| Reverb always on | Player never leaves zone | Check trigger collider size, verify OnPlayerTriggerExit fires |
| Emitter reverb not working | Missing OccludedEmitter | Add OccludedEmitter to the AudioSource GameObject |
- ReverbController — emitter reverb internals (advanced)
- PlayerAudioOverride — per-zone reverb settings
- WorldAudio-Subsystem — how emitter updates work
- Architecture
- Occlusion
- Voice Directionality
- Height Scaling
- Audio Processing Pipeline
- Private Voice Channels
- WorldAudio Subsystem
- WorldAudio Limitations
- Set Up Occlusion
- Set Up Voice Channels
- Set Up Reverb
- Set Up Height Scaling
- Set Up Voice Directionality
- Set Up Microphone
- Set Up WorldAudio Emitters
- Enable Debug Mode
- Tutorial #1: Custom Voice Override Zone
- Tutorial #2: Private Voice Channels
- Tutorial #3: Setting Up World Audio
- PlayerAudioController
- PlayerAudioOverride
- PlayerAudioOverrideList
- PlayerAudioView
- PlayerAudioConfigurationModel
- SyncedPlayerAudioConfigurationModel
- VoiceUtils
- IgnoredPlayers
- AudioObstacle
- DefaultPlayerOcclusion
- NullPlayerOcclusion
- PlayerOcclusionStrategy
- Privacy Channel Reference
- AdjustableGain
- DynamicPrivacy
- PickupMicrophone — MVC microphone system with MicModel/MicController/MicView
- VoiceOverrideTriggerZone
- VoiceOverrideRoom