Avatar Dynamics
[Reason: Not much information here! You can contribute, by expanding and proofreading this article, in accordance with the Manual of Style.]
Avatar Dynamics, is an avatar feature, initially introduced to VRChat on April 21, 2022[1]. is a set of features to add more interactions between avatars. Replacing older avatar components, and adding new options for avatars. This release also introduced a new permission system to let people set who can interact with these new features.
PhysBones
See also Physbones for more detailed information.
Physbones allows for secondary motion and interact-able bones for avatars. Allowing users to grab, move, and manipulate avatar parts (e.g., hair, ears).
Contacts
See also Contacts for more detailed information.
Contacts are a system that allows avatars to detect collisions with itself or other avatars. These collisions can then be used to drive Animator parameters and perform many kinds of interaction effects.
Contact Senders
A Contact Sender defines a collision volume that can be detected by a matching Contact Receiver. Senders can use a sphere or capsule shape, a root transform, local position and rotation offsets, and one or more collision tags.
A box shape for contacts is in development and planned for a future SDK release[2][3]. Box-shaped contacts will be available for both avatars and worlds, with configurable width, height, and depth. Box-shaped contact receivers will also support an additional proximity calculation mode based on the distance from the sender to the positive Z face of the box.
On avatars, the Colliders section of the Avatar Descriptor also creates built-in Contact Senders for common body parts such as hands and fingers.
Contact Receivers
A Contact Receiver listens for matching senders and writes a value to an Animator parameter on the avatar. Receivers can be configured to allow self-contact, other users, or only local evaluation.
VRChat supports three receiver behaviors:
- Constant keeps a parameter active while a matching sender stays inside the receiver.
- On Enter activates for one frame when a matching sender enters, optionally requiring a minimum velocity.
- Proximity outputs a float from `0.0` to `1.0` based on how close the sender is to the center of the receiver.
Tags and parameters
Contacts only interact when a sender and receiver share at least one matching collision tag. The receiver's Parameter field determines which Animator parameter is updated. Depending on the Animator parameter type, the value may be interpreted as a float, int, or bool.
Debugging
In Unity, Contact gizmos appear when Gizmos are enabled and the contact or one of its parents is selected. In VRChat, the Avatar Dynamics overlay can also be used to visualize Contacts and PhysBones during testing.
Permissions
The Avatar Dynamics permission system gives you complete control over who can interact with your avatar and how:
Global Permissions
Choose “Everyone,” “Friends,” or “Nobody” as a default setting for all users.
Per-User Overrides
Individually grant or deny avatar interaction permissions for specific users.
Quick Toggle/Safe Mode
Instantly pause all interactions (regardless of any other settings) with one button press in the Quick Menu.
Official resources
- Avatar Components on Creator Docs
- PhysBones on Creator Docs
- Contacts on Creator Docs