-
Notifications
You must be signed in to change notification settings - Fork 8
AdjustableGain
Guribo edited this page Jul 11, 2026
·
3 revisions
Example script (
Runtime/Examples/) — not a core component. See Example Prefabs for usage.
Synced UI slider controlling voice gain on multiple PlayerAudioOverrides. Optionally restricts control to whitelisted players.
This component requires manual setup. It cannot find overrides automatically — you must drag the PlayerAudioOverride components you want to control into the ControlledOverrides array.
- Add to a GameObject with a Unity UI
Slider - Assign the
Sliderreference - Assign one or more
PlayerAudioOverridecomponents toControlledOverrides - Optionally assign a
PlayerBlackListto restrict who can adjust the slider
| Setting | Type | Default | Description |
|---|---|---|---|
Slider |
Slider |
(required) | Unity UI slider bound to this control |
ControlledOverrides |
PlayerAudioOverride[] |
(required) | All overrides whose VoiceGain this slider controls |
PlayersAllowedToControl |
PlayerBlackList |
(optional) | If set, only these players may adjust |
Gain |
float |
15f |
Current gain value (synced across network) |
- Slider value changes are synced via
UdonSyncedfields - Any player moving the slider takes ownership and broadcasts the new value
- All players receive the synced value and apply it to their
PlayerAudioOverrideinstances - If
PlayersAllowedToControlis set, non-whitelisted players cannot change the value
- Requires a
Slidercomponent on the same GameObject or assigned via Inspector - The slider value range should match VRChat's gain range (0–24)
- Multiple sliders can exist in the scene for independent controls
- Only one player controls the gain at a time (ownership transfers on interaction)
- PlayerAudioOverride — per-override audio settings
- PlayerAudioController — main player audio controller
- 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