-
Notifications
You must be signed in to change notification settings - Fork 8
How to Set Up Height Scaling
Guribo edited this page Jul 11, 2026
·
3 revisions
Step-by-step guide for making avatar height affect voice range 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
- Expand the
TLP_PlayerAudioControllerhierarchy - Select the
LocalConfigurationchild GameObject - Find the PlayerAudioConfigurationModel component
- Locate the
HeightToVoiceCorrelationfield (AnimationCurve) - Edit the curve:
- X-axis: avatar eye height in meters (range: 0–25m)
- Y-axis: voice range multiplier (1.0 = no change)
| Curve Shape | Effect |
|---|---|
| Constant at 1.0 | No height effect (default) |
| Linear from 0.5 (at 0.5m) to 2.0 (at 2.5m) | Tall players heard at double range |
| Linear from 0.2 (at 0.5m) to 1.0 (at 1.5m) | Short players have reduced range, normal above 1.5m |
| Step at 1.0m | Below 1m = half range, above 1m = full range |
- Select the GameObject with
PlayerAudioOverride - Locate the
HeightToVoiceCorrelationfield - Edit the curve to define zone-specific height behavior
- Per-zone curves override the global curve for players in that zone
- Stage zone: strong height scaling (tall performers heard farther)
- Lounge zone: no height scaling (constant at 1.0)
- Enable ClientSim — verify no compile errors
- For actual height behavior testing: use Build and Test (launch 2 instances, join same private instance)
- On one instance: set avatar height to different values, walk away — verify taller avatars heard farther
- Enter a zone with per-zone height scaling — verify zone curve takes effect
- Use the Unity curve editor to visualize the mapping before entering play mode
- Keep the curve smooth — sharp steps create abrupt range changes as players resize avatars
- Typical realistic range: 0.5x at 0.5m height to 1.5x at 2.5m height
- VRChat avatar height limits: player-controlled 0.2–5m; Udon world-authoritative 0.01–10000m; officially supported 0.1–100m. Ref: VRChat Player Avatar Scaling
- Height Scaling — explanation of how height scaling works
- Voice Directionality — another range modifier (head rotation)
- PlayerAudioOverride — per-zone settings
- 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