-
Notifications
You must be signed in to change notification settings - Fork 8
How to Set Up Voice Directionality
Guribo edited this page Jul 5, 2026
·
2 revisions
Step-by-step guide for making head rotation affect voice range in your world.
-
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
- Select the
TLP_PlayerAudioControllerGameObject - Find the PlayerAudioConfigurationModel component
- Locate the directionality fields:
| Field | Effect | Range |
|---|---|---|
ListenerDirectionality |
Reduces range when you face away from the speaker | 0–1 |
PlayerDirectionality |
Reduces range when the speaker faces away from you | 0–1 |
- Set values:
-
0.0— no directionality (default, range unchanged) -
0.5— moderate (facing away reduces range by ~50%) -
1.0— full (facing away can reduce range up to 100%)
-
- Select the GameObject with
PlayerAudioOverride - Set
ListenerDirectionalityandPlayerDirectionalityindependently per zone
- Stage zone: high directionality (audience hears performers clearly, chatter behind them is quiet)
- Lounge zone: low directionality (easy conversation from any angle)
- Enable ClientSim
- Click Play
- Enable directionality settings on the PlayerAudioController or a zone override
- Stand near a speaker and turn away — voice should fade
- Have the speaker turn away from you — their voice should also fade
- Both settings are independent — you can enable one, both, or neither
- Both effects are multiplied together for the final range multiplier
- Start with moderate values (0.3–0.5) — full directionality (1.0) can feel extreme
- Test with multiple players to verify both listener and speaker effects
- Voice Directionality — explanation of how directionality works
- Height Scaling — another range modifier (avatar height)
- PlayerAudioOverride — per-zone settings
- 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