The VRChat Documentation Hub

Welcome to the VRChat Documentation hub. You'll find comprehensive guides and documentation to help you start working with VRChat as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    

VRC_PlayerAudioOverride

A region in a world where user voice and avatar audio properties can be adjusted.

This component is used to alter a player's voice and avatar sound spatialization parameters when they enter a region. This can be used to have performers on stage project their voice further than default, or likewise, have the audience voices not carry as much. This component can also be used to change the limits for avatar-based VRC_SpatialAudioSources within the region-- you can allow higher limits, lower the limits, or even turn off avatar audio entirely in your world.

This component is used in conjunction with a Unity Trigger collider. Any collider shape may be used. In order for the VRC_PlayerAudioOverride to work, you must create a new collider! You can use any type of collider, but Box is likely the most common use case. This collider must have Is Trigger checked!

šŸ“˜

Use Default Layer

You should always use the Default layer for VRC_PlayerAudioOverride.

If you want the Override to affect the entire scene, enable the Global checkbox.

When a user enters the Trigger Collider, the given spatial parameters are applied. When a user leaves the trigger, the default spatial parameters are restored. This change is immediate.

A VRC_PlayerAudioOverride as it appears when first added. In this state, it has no collider assigned to Region (and Global isn't checked) so it won't do anything.

Unity Editor Interface

When you add this component to a GameObject, it will have default settings loaded. No Collider will be defined in the Region property field. In order for the VRC_PlayerAudioOverride to work, you must create a new collider, and assign it to the Region property. You can use any type of collider, but Box is likely the most common use case. This collider must have Is Trigger checked!

šŸš§

Don't forget to enable Is Trigger!

Any collider used for VRC_PlayerAudioOverride must use the Is Trigger option on the Collider, or else it will be treated as a physics collider.

As an example, a Box Collider will have a gizmo with walls to indicate its bounds. Clicking "Edit Collider" in the Collider component will allow you to adjust the dimensions of the Override Region in the 3D view. You can also adjust the Center and Dimensions of the Box Collider component directly in the Inspector. When a player is within those bounds, they will be affected by the Override.

Notably, you can use any collider shape for VRC_PlayerAudioOverride, like a Sphere Collider or even a Mesh Collider. Add the collider to the GameObject, set Is Trigger to True, and you're good to go!

Voice Falloff Mechanics

All units are in meters. Falloff of audio intensity is roughly inverse-square, with some adjustments.

For more details specific to avatar audio sources, please see the documentation for VRC_SpatialAudioSource.

VRChat Voice Falloff Curve Adjustments

VRChat voice uses an inverse-square curve that has been slightly compressed and boosted.

This voice falloff approximates real-world behavior (ignoring occlusion, reverb, etc) and will allow users to naturally pick voices out of a crowd, while preventing issues such as close-range clipping and unexpected drops.

In addition, there is a low-pass filter on voice once you start to get closer to your Voice Far range. This is intended to turn distant conversation into "crowd-noise", and helps with improving the ability to understand many voices in crowded areas and instances. The low-pass filter begins affecting voice at 1/2 of the Voice Far value.

Component Properties

šŸš§

Dynamic Adjustment via Animations

Adjusting these properties via animations during runtime is not supported. These values are set at initialization.

šŸš§

Low "Far" Ranges

Having your Voice Far set very low (less than 20m) will result in sharp drop-offs. You probably shouldn't do that-- but if you do, keep that in mind.

ā—ļø

Disabling / Enabling GameObject or Component

If a VRC_PlayerAudioOverride region is enabled/disabled while someone is standing in its area of influence, you may experience undocumented behavior. This is because Unity does not fire a OnTriggerExit callback if you are within a collider when it is disabled.

In short, do not attempt to toggle on / toggle off the GameObject or Components involved with VRC_PlayerAudioOverride while someone is within its area of influence.

If you instead choose to move the collider (say, into the floor) via an animation, it should work fine. Obviously, this won't work with Global regions, but in this case you can instead override with regions.

Property Name

Description

Global

If checked, these settings are global. Otherwise, settings only affect players who enter the trigger region.

You should only have one of these in your world! If you have more than one, VRChat will only use the first one found.

False by default.

Region

This field takes a GameObject with a Collider-class component on it. The collider must have Is Trigger enabled. When a player enters this region, their settings are changed.

Empty by default.

Region Priority

Higher number means higher priority, can be negative.

If a high-priority region overlaps a low-priority region, the high-priority region's settings will be applied instead.

Voice Gain

An additional boost to voice volume. Can be 0-24db.

Voice Far

The maximum range at which voice can be heard. At values close to this range, voice is going to be pretty quiet.

Advanced
Voice Near

The near radius, in meters, where volume begins to fall off.

It is strongly recommended to leave the Near value at zero for realism and effective spatialization for user voices.

Advanced
Voice Volumetric Radius

An audio source is normally simulated as a point source. However, changing this value allows the source to appear to come from a larger area.

This should be used carefully, and is mainly for distant audio sources that need to sound "large" as you move past them. The listener should never get close to the radius for best results. If the listener is inside the Volumetric Radius, strange behavior may result.

It is strongly recommended to leave the Volumetric Radius value at zero for realism and effective spatialization for user voices.

Advanced
Voice Disable Lowpass Filter

Disable the lowpass distance filter. May be useful for non-standard ranges.

Avatar Gain Limit

Limit for avatar audio gain (decibels). Setting this to -1 (or any negative value) will mute all avatar audio.

Avatar Far Limit

Limit for avatar audio max range (meters). If this is set to zero, all avatar audio will be muted.

Advanced
Avatar Near Limit

Limit for avatar min range (meters). See note on Voice Near.

Advanced
Avatar Volumetric Radius Limit

Limit for avatar volumetric audio (meters). See note on Voice Volumetric Radius.

Advanced
Avatar Force Spatial

Force spatial avatar audio.

Advanced
Avatar Allow Custom Curve

Allow avatar audio to use AudioSource Volume Curve for falloff. Otherwise, Inverse Square falloff is enforced.

PlayerAudioOverride Default Values

Values listed are the defaults for player voice when no VRC_PlayerAudioOverride is in effect, or when you create a new component. These values are subject to change.

Property Name

Value

Global

False

Region

N/A for default settings when no VRC_PlayerAudioOverride is in effect.

When a new VRC_PlayerAudioOverride is created, no collider is created. You'll have to make one and ensure Is Trigger is checked.

Region Priority

0

Voice Gain

15

Voice Far

25

Advanced: Voice Near

0

Advanced: Voice Volumetric Radius

0

Advanced: Voice Disable Lowpass

True

Avatar Gain Limit ā€ 

10

Avatar Far Limit ā€ 

40

Advanced: Avatar Near Limit ā€ 

40

Advanced: Avatar Volumetric Radius Limit ā€ 

40

Advanced: Avatar Force Spatial

False

Advanced: Avatar Allow Custom Curve

True

ā€  To reiterate, these are limits, not boosts.

Notes

  • All player voice gets an addition 6db boost relative to other sounds. This is on top of any Gain you apply with the VRC_PlayerAudioOverride.
  • Don't overlap regions with the same priority. That will result in spooky undocumented behavior.

Updated 7 months ago


VRC_PlayerAudioOverride


A region in a world where user voice and avatar audio properties can be adjusted.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.