Avatar Dynamics: Difference between revisions

From VRChat Wiki
DAG-XR (talk | contribs)
Re-placed stub box, added "Needs Images". This page needs lots of work!
~Pausbe (talk | contribs)
Simplify SDK category.
 
(12 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Stub}}
<languages/>
'''Avatar Dynamics''' (Introduced on 21. April 2022<ref>[https://hello.vrchat.com/blog/avatar-dynamics-live VRChat Blog: Avatar Dynamics Live]</ref>) 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.
{{Noticebox/Official}}
<translate><!--T:1-->
{{Stub|Not much information here! You can [[Special:MyLanguage/VRCWiki:How to Contribute|contribute]], by expanding and proofreading this article, in accordance with the [[Special:MyLanguage/VRCWiki:Manual of Style|Manual of Style]].}}
'''Avatar Dynamics''', is an [[Special:MyLanguage/Avatars|avatar]] feature, initially introduced to VRChat on April 21, 2022<ref>[https://hello.vrchat.com/blog/avatar-dynamics-live VRChat Blog: Avatar Dynamics Live]</ref>. 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==
==PhysBones== <!--T:2-->


<!--T:3-->
''See also [[Special:MyLanguage/Physbones|Physbones]] for more detailed information.''
''See also [[Special:MyLanguage/Physbones|Physbones]] for more detailed information.''


<!--T:4-->
Physbones allows for secondary motion and interact-able bones for avatars. Allowing users to grab, move, and manipulate avatar parts (e.g., hair, ears).
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==
==Contacts== <!--T:5-->


<!--T:6-->
''See also [https://creators.vrchat.com/avatars/avatar-dynamics/contacts/ Contacts] for more detailed information.''
''See also [https://creators.vrchat.com/avatars/avatar-dynamics/contacts/ 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 the animation controller and perform all sorts of fun effects.
<!--T:7-->
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.


==Permissions==
===Contact Senders=== <!--T:17-->
 
<!--T:18-->
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.
 
<!--T:28-->
{{Noticebox/unreleased}}
A box shape for contacts is in development and planned for a future SDK release<ref>[https://ask.vrchat.com/t/vrchat-creators-roadmap-march-2026/48077 'VRChat Creators Roadmap (March 2026)'] on ''[[ask.vrchat.com]]''.</ref><ref>[https://ask.vrchat.com/t/developer-update-19-march-2026/48078 'Developer Update - 19 March 2026'] on ''[[ask.vrchat.com]]''.</ref>. 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.
 
<!--T:19-->
On avatars, the ''Colliders'' section of the [[Special:MyLanguage/Avatar Descriptor|Avatar Descriptor]] also creates built-in Contact Senders for common body parts such as hands and fingers.
 
===Contact Receivers=== <!--T:20-->
 
<!--T:21-->
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.
 
<!--T:22-->
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=== <!--T:23-->
 
<!--T:24-->
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=== <!--T:25-->
 
<!--T:26-->
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== <!--T:8-->
 
<!--T:9-->
The Avatar Dynamics permission system gives you complete control over who can interact with your avatar and how:
The Avatar Dynamics permission system gives you complete control over who can interact with your avatar and how:


===Global Permissions===
===Global Permissions=== <!--T:10-->


<!--T:11-->
Choose “Everyone,” “Friends,” or “Nobody” as a default setting for all users.
Choose “Everyone,” “Friends,” or “Nobody” as a default setting for all users.


===Per-User Overrides===
===Per-User Overrides=== <!--T:12-->


<!--T:13-->
Individually grant or deny avatar interaction permissions for specific users.
Individually grant or deny avatar interaction permissions for specific users.


===Quick Toggle/Panic Mode===
===Quick Toggle/Safe Mode=== <!--T:14-->


<!--T:15-->
Instantly pause all interactions (regardless of any other settings) with one button press in the Quick Menu.
Instantly pause all interactions (regardless of any other settings) with one button press in the Quick Menu.


==References==
<!--T:27-->
==Official resources==
* [https://creators.vrchat.com/avatars/avatar-components/ Avatar Components] on Creator Docs
* [https://creators.vrchat.com/avatars/avatar-dynamics/physbones/ PhysBones] on Creator Docs
* [https://creators.vrchat.com/avatars/avatar-dynamics/contacts/ Contacts] on Creator Docs
 
==References== <!--T:16-->
</translate>
 
<references/>
<references/>


[[Category:Needs images]]
[[Category:Features{{#translation:}}]]
[[Category:SDK{{#translation:}}]] <!-- remove once PhysBones and/or Contacts gets it's own page. Avatar Dynamics is a system. -->
[[Category:Needs images{{#translation:}}]]

Latest revision as of 02:39, 16 April 2026

V · EThis is an official VRChat information page!
It is reviewed and approved by the VRCWiki Team. Learn how to contribute to this page by reading the Contribution Guide.
V · EThis page is a stub.
You can help the VRChat Wiki by improving it.
[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.

V · EUnreleased or beta content!
This content is currently unreleased or in beta, be aware it could change!
[Reason: No reason provided.]


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

References