-
Notifications
You must be signed in to change notification settings - Fork 8
Home
Guribo edited this page Jul 11, 2026
·
9 revisions
TLP UdonVoiceUtils is a collection of scripts and prefabs for VRChat worlds that modify player audio in real time.
- Voice range control — extend or limit how far players can be heard
- Audio zones — separate players into private rooms with distinct voice areas
- Occlusion — muffle voices behind walls (environment) or other players
- Voice directionality — reduce volume when players face away from each other
- Reverb — apply reverb to player voices and avatar audio
- Private channels — create unlimited private voice channels
- Microphone pickups — extend voice range with pickupable microphones
- Height scaling — adjust voice range based on avatar height
- World audio management — importance-based emitter culling, reverb, and privacy for scene audio sources
- Install via VPM (VRChat Creator Companion or ALCOM)
- Add TLP_Essentials from
Packages/tlp.udonutils/Runtime/Prefabs/TLP_Essentials.prefab - Add TLP_PlayerAudioController from
Packages/tlp.udonvoiceutils/Runtime/Prefabs/Core/TLP_PlayerAudioController.prefab - Test with Build and Test (2 instances required for voice testing)
See Getting Started for walkthrough, or Installation for detailed setup steps.
| Topic | Link |
|---|---|
| Installation & Setup | Installation |
| Minimal Scene Setup | Minimal Scene Setup |
| Architecture Overview | Architecture |
| Occlusion | Occlusion |
| Height Scaling | Height Scaling |
| Voice Directionality | Voice Directionality |
| Private Voice Channels | Private Voice Channels |
| World Audio Subsystem | WorldAudio-Subsystem |
| WorldAudio Limitations | WorldAudio-Limitations |
| Audio Processing Pipeline | Audio-Processing-Pipeline |
| Troubleshooting | Troubleshooting Guide |
| FAQ | FAQ |
| Topic | Link |
|---|---|
| Reverb in VRChat | Reverb in VRChat (historical data) |
| Performance | Performance (historical benchmarks) |
| Task | Link |
|---|---|
| Set Up Occlusion | How to Set Up Occlusion |
| Set Up Voice Channels | How to Set Up Voice Channels |
| Set Up Reverb | How to Set Up Reverb |
| Set Up Height Scaling | How to Set Up Height Scaling |
| Set Up Voice Directionality | How to Set Up Voice Directionality |
| Set Up Microphone | How to Set Up Microphone |
| Set Up WorldAudio Emitters | How to Set Up WorldAudio Emitters |
| Enable Debug Mode | How to Enable Debug Mode |
| Component | Purpose |
|---|---|
| PlayerAudioController | Core controller — manages all player audio |
| PlayerAudioOverride | Per-zone override settings |
| PlayerAudioOverrideList | Sorted list of overrides per player |
| PlayerAudioView | UI view for audio settings |
| WorldAudioController | Emitter update controller (importance-based) |
| OccludedEmitter | Per-emitter lifecycle management |
| AudioSourceStateController | Play/pause/cull state machine |
| AudioObstacle | Per-obstacle occlusion config |
| Privacy Channel Reference | Channel ID behavior and limits |
| Script | Purpose |
|---|---|
| AdjustableGain | Synced UI slider for voice gain |
| DynamicPrivacy | Dynamic privacy channel management |
All prefabs are located at Packages/tlp.udonvoiceutils/Runtime/Prefabs/Examples/. See Example Prefabs for full listing with components and configuration.
- 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