Toggles: Difference between revisions

From VRChat Wiki
Hackebein (talk | contribs)
These thing that we use way to often
 
Hackebein (talk | contribs)
m removed headline
Line 2: Line 2:
'''Toggles''' are a common avatar setup pattern that uses [[Expressions]] controls, Animator parameters, and animation states to enable or disable avatar features.
'''Toggles''' are a common avatar setup pattern that uses [[Expressions]] controls, Animator parameters, and animation states to enable or disable avatar features.


== Overview ==
On VRChat avatars, a toggle usually starts in the Expressions menu, where a user flips a <code>Bool</code>, <code>Int</code>, or <code>Float</code> parameter. That parameter is then read by an Animator Controller, most often on the FX playable layer, to switch between different states or animations.
On VRChat avatars, a toggle usually starts in the Expressions menu, where a user flips a <code>Bool</code>, <code>Int</code>, or <code>Float</code> parameter. That parameter is then read by an Animator Controller, most often on the FX playable layer, to switch between different states or animations.



Revision as of 18:30, 14 March 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.

Toggles are a common avatar setup pattern that uses Expressions controls, Animator parameters, and animation states to enable or disable avatar features.

On VRChat avatars, a toggle usually starts in the Expressions menu, where a user flips a Bool, Int, or Float parameter. That parameter is then read by an Animator Controller, most often on the FX playable layer, to switch between different states or animations.

Toggles are commonly used for clothing swaps, props, blendshapes, material changes, and other on-or-off avatar features.

Basic setup

A simple toggle usually needs:

  • An Expressions menu control, often a Toggle.
  • A matching custom parameter in the Expression Parameters asset.
  • A matching Animator parameter in the controller.
  • Animation states that enable and disable the target object or update a property.

Creators often include a small buffer or idle animation so the controller behaves consistently with different Write Defaults setups.

Exclusive toggles

Some avatars use a group of mutually exclusive toggles where only one option should be active at a time, such as outfit sets or hairstyle choices.

Common approaches include:

  • Multiple bool toggles with parameter drivers that turn the other options off.
  • An integer-driven setup where one value selects one state.
  • A blend tree or radial-puppet-based selector for a larger set of options.

Radial and advanced variants

Not every toggle is a simple on-or-off switch. Avatar creators also use:

  • Radial puppets to drive a float from 0.0 to 1.0 for effects such as hue shifts, scale adjustments, or multi-option selectors.
  • Two-axis puppets to control two floats at once, often for transform control.
  • Blend trees or motion time for more compact controllers when a toggle needs multiple intermediate values.

These techniques are built from official Expressions and Animator features, while many specific controller patterns are documented mainly in community guides.

Notes

  • Toggle behavior depends on the playable layer and Animator setup used by the avatar.
  • For cross-platform avatars, matching parameters should stay in the same order and use the same parameter types on both versions.
  • Built-in VRChat Animator parameters should not be re-created in the custom Expression Parameters asset.

Official resources

References