-
Notifications
You must be signed in to change notification settings - Fork 8
DynamicPrivacy
Guribo edited this page Jul 5, 2026
·
5 revisions
Dynamically manages privacy channels for voice communication based on player presence. Automatically adds/removes a single privacy channel ID when the local player enters or exits the monitored area, providing seamless voice privacy control.
This component listens to UdonEvents. You must wire LocalPlayerAdded and LocalPlayerRemoved events from a zone detection component (e.g., VoiceOverrideTriggerZone).
- Add to a GameObject
- Assign
LocalPlayerAddedandLocalPlayerRemovedUdonEvents (typically from a trigger zone) - Assign
OverrideWithDynamicPrivacy— thePlayerAudioOverridewhose channels will be managed - Set
PlayerAddedPrivacyChannelId— channel ID assigned on enter - Set
PlayerExitedPrivacyChannelId— channel ID assigned on exit
| Setting | Type | Default | Description |
|---|---|---|---|
LocalPlayerAdded |
UdonEvent |
(required) | Fired when local player enters the zone |
LocalPlayerRemoved |
UdonEvent |
(required) | Fired when local player exits the zone |
OverrideWithDynamicPrivacy |
PlayerAudioOverride |
(required) | Override whose privacy channels are managed |
PlayerAddedPrivacyChannelId |
int |
(required) | Channel ID added on enter |
PlayerExitedPrivacyChannelId |
int |
(required) | Channel ID added on exit |
When local player enters zone:
- Removes
PlayerExitedPrivacyChannelIdfrom override (cleanup) - Adds
PlayerAddedPrivacyChannelIdto override - All players sharing this channel can now hear each other
When local player exits zone:
- Removes
PlayerAddedPrivacyChannelIdfrom override - Adds
PlayerExitedPrivacyChannelIdto override - Voice becomes private to exit channel only
- Only manages a single
PlayerAudioOverride— use multiple DynamicPrivacy components for multiple overrides - Two channel IDs ensure players inside and outside the zone cannot hear each other
- Events must be wired manually — this component does not detect zones itself
- PlayerAudioOverride — per-override audio settings
- Private Voice Channels — channel concept
- VoiceOverrideTriggerZone — trigger zone that fires events
- 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