-
Notifications
You must be signed in to change notification settings - Fork 8
VoiceUtils
Packages/tlp.udonvoiceutils/Runtime/Core/PlayerAudio/VoiceUtils.cs
Static utility methods for audio calculations.
Searches the scene for the TLP_PlayerAudioController GameObject and returns its PlayerAudioController component.
PlayerAudioController controller = VoiceUtils.FindPlayerAudioController();Returns null if not found. Logs error to console.
Searches the scene for the TLP_WorldAudioController GameObject and returns its WorldAudioController component.
WorldAudioController controller = VoiceUtils.FindWorldAudioController();Returns null if not found. Logs error to console.
Linear audio rolloff between min and max distance.
| Param | Description |
|---|---|
min |
Distance where volume starts decreasing |
max |
Distance where volume reaches 0 |
distance |
Current distance |
Returns 0-1 (1 = full volume, 0 = silent).
Logarithmic audio rolloff from min distance outward.
| Param | Description |
|---|---|
min |
Distance where rolloff begins |
distance |
Current distance |
Returns 0-1.
CalculateImportance(emitterPosition, listenerHeadPosition, audioSource, isReceivingStart, hasStartedOk, unimportanceOffset, priorityWeight)
Calculates importance score for audio source prioritization. Used by the time-sliced update system to determine which audio sources matter most.
| Param | Description |
|---|---|
emitterPosition |
World position of the audio emitter |
listenerHeadPosition |
World position of the listener's head |
audioSource |
The AudioSource to evaluate (reads rolloff mode, volume, distance, priority) |
isReceivingStart |
True while the behaviour is executing its Start() method (during initialization) |
hasStartedOk |
True if the behaviour's dependencies are all valid (SetupAndValidate succeeded) |
unimportanceOffset |
Base offset added to distance for unimportant sources (e.g. 512) |
priorityWeight |
Weight multiplier for AudioSource.priority in the final score (e.g. 2) |
Handles Logarithmic, Linear, and Custom rolloff modes. Returns unimportanceOffset + distance when volume is 0 or during initialization.
- PlayerAudioController — uses VoiceUtils for calculations
- Audio Processing Pipeline — where these utilities are applied
- 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