-
Notifications
You must be signed in to change notification settings - Fork 8
How to Set Up Occlusion
Guribo edited this page Jul 11, 2026
·
4 revisions
Step-by-step guide for configuring audio occlusion 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
Ensure walls, floors, and ceilings have colliders on the Environment layer:
- Select the wall/floor GameObject
- In the Inspector, set the layer to Environment
- Ensure the collider is present (BoxCollider, MeshCollider, etc.)
- Add the
AudioObstaclecomponent to your wall/floor GameObject - Set
ObstacleClarity:-
0= fully blocks sound (thick wall) -
0.5= partially muffles (thin wall, glass) -
1= fully transparent (doorway, window)
-
- Select the
TLP_PlayerAudioControllerGameObject - Find
Occlusion settings→Occlusion Mask - Ensure Environment layer is checked
- (Optional) Check UI layer to enable player occlusion
- Play in editor with ClientSim
- Position yourself behind a wall from another player
- Voice should sound muffled when the wall is between you
| Symptom | Cause | Fix |
|---|---|---|
| No occlusion | Layer mask missing Environment | Add Environment layer to OcclusionMask
|
| Occlusion too strong | All obstacles at clarity 0 | Increase ObstacleClarity on AudioObstacle |
| Occlusion too weak | Obstacles on wrong layer | Check collider layer is Environment |
| Player occlusion not working | UI layer not in mask | Add UI layer to OcclusionMask
|
See Troubleshooting for more issues.
- Occlusion — how occlusion works
- AudioObstacle — per-obstacle 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