-
Notifications
You must be signed in to change notification settings - Fork 8
PlayerAudioConfigurationModel
Guribo edited this page Jul 11, 2026
·
3 revisions
Packages/tlp.udonvoiceutils/Runtime/Core/PlayerAudio/PlayerAudioConfigurationModel.cs
Data model holding all audio settings. Part of the MVC pattern.
Stores default audio configuration that applies to all players unless overridden. Three instances exist:
-
LocalConfiguration— local player's settings -
SyncedMasterConfiguration— instance master's settings (synced to all players) -
DefaultConfiguration— reset backup
Configure all three with the same values.
| Field | Default | Description |
|---|---|---|
OcclusionMask |
Environment + UI layers | Layers that block audio |
OcclusionFactor |
0 |
Environment occlusion strength (0-1) |
PlayerOcclusionFactor |
0 |
Player occlusion strength (0-1) |
| Field | Default | Description |
|---|---|---|
ListenerDirectionality |
0 |
Range reduction when listener faces away (0-1) |
PlayerDirectionality |
0 |
Range reduction when speaker faces away (0-1) |
| Field | Default | Description |
|---|---|---|
VoiceDistanceFar |
25 |
Max voice range |
VoiceDistanceNear |
0 |
Near voice range |
VoiceGain |
15 |
Voice volume |
VoiceVolumetricRadius |
0 |
3D audio radius |
EnableVoiceLowpass |
true |
Muffle at max range |
| Field | Default | Description |
|---|---|---|
AvatarFarRadius |
40 |
Max avatar audio range |
AvatarNearRadius |
40 |
Near avatar audio range |
AvatarGain |
10 |
Avatar audio volume |
ForceAvatarSpatialAudio |
false |
Force 3D spatial audio |
AllowAvatarCustomAudioCurves |
true |
Allow custom rolloff curves |
AvatarVolumetricRadius |
0 |
Range where avatar audio is not spatialized |
HeightToVoiceCorrelation |
Constant(0, 25, 1) |
Maps avatar eye height to voice range multiplier |
| Field | Default | Description |
|---|---|---|
AllowMasterControlLocalValues |
false |
Master can control all players' settings |
| Constant | Value | Description |
|---|---|---|
EnvironmentLayerMask |
1 << 11 |
Layer 11 — Environment |
UILayerMask |
1 << 5 |
Layer 5 — UI (player capsules) |
- PlayerAudioController — reads this model
- PlayerAudioView — writes to this model
- SyncedPlayerAudioConfigurationModel — synced variant
- 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