-
Notifications
You must be signed in to change notification settings - Fork 8
PlayerAudioOverride
Guribo edited this page Jul 3, 2026
·
3 revisions
Packages/tlp.udonvoiceutils/Runtime/Core/PlayerAudioOverride.cs
The customizable override that modifies audio settings for a group of players.
The UdonSharpbehaviour PlayerAudioOverride provides custom:
- a priority which determines whether a player is affected when added
- voice audio settings (distance near/far, gain, volumetric radius, lowpass)
- avatar audio settings (near/far radius, gain, spatialize, custom curves)
- occlusion settings (environment + player occlusion, customizable layer mask)
- directionality settings (listener + player directionality)
-
reverb settings (optional
AudioReverbFilter) - private channel IDs and listening settings
- can be enabled/disabled to temporarily add/remove its effect from all affected players
- players can be added/removed from the component itself even when it is disabled, they will be affected as soon as the component is enabled again
| Field | Default | Description |
|---|---|---|
Priority |
0 |
Higher priority overrides take precedence. Equal priority = last added wins. |
| Field | Default | Description |
|---|---|---|
VoiceDistanceNear |
0 |
Volume stays max when closer than this |
VoiceDistanceFar |
25 |
Beyond this distance, player can't be heard |
VoiceGain |
15 |
Volume increase in dB |
VoiceVolumetricRadius |
0 |
Range where voice is not spatialized |
EnableVoiceLowpass |
true |
Muffle voice near max range |
| Field | Default | Description |
|---|---|---|
TargetAvatarNearRadius |
0 |
Distance where avatar audio starts falling off |
TargetAvatarFarRadius |
40 |
Max distance avatar audio can be heard |
TargetAvatarGain |
10 |
Volume increase in dB |
TargetAvatarVolumetricRadius |
0 |
Range where avatar audio is not spatialized |
ForceAvatarSpatialAudio |
false |
Force all avatar sources to spatialize |
AllowAvatarCustomAudioCurves |
true |
Use custom audio curves on avatar sources |
| Field | Default | Description |
|---|---|---|
OcclusionMask |
Environment + UI layers | Layers that cause occlusion |
OcclusionFactor |
0 |
0 = off, 1 = fully occluded at current distance |
PlayerOcclusionFactor |
0 |
Occlusion when blocked by another player |
| Field | Default | Description |
|---|---|---|
ListenerDirectionality |
0 |
1 = full reduction when listener faces away |
PlayerDirectionality |
0 |
1 = full reduction when emitter faces away |
| Field | Default | Description |
|---|---|---|
PrivacyChannelId |
-1 |
Channel ID. -1 = no privacy (all affected players audible to all) |
AdditionalPrivacyChannelIds |
null |
Extra channel IDs this override listens to |
MuteOutsiders |
true |
Affected players can't hear non-affected players |
DisallowListeningToChannel |
false |
Prevents local player from hearing others in the same channel |
| Event | When |
|---|---|
LocalPlayerAdded |
Local player added to this override (may not be active if higher-priority override exists) |
LocalPlayerRemoved |
Local player removed from this override |
- PlayerAudioController — the controller that applies this override
- PlayerAudioOverrideList — sorted list of overrides per player
- 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