Skip to content

Triggers

A Hide hair trigger with 1 Fires, 2 its first group, 3 a row's kind, 4 + And, 5 Any of these, 6 + Or, 7 Only while, 8 Objects.12345678
  1. Fires: the whole rule in words.
  2. The first group of conditions, captioned All of. This one holds one condition: the Hat toggle is on.
  3. The kind of the condition: Toggle, Parameter, Contact or PhysBone.
  4. The group's own + And.
  5. Any of these, between the groups.
  6. + Or, which adds another group.
  7. Only while, set to the Hair hiding toggle.
  8. The Objects section: the trigger hides the hair.

A trigger is a rule. It turns its effects on while its condition is true, with no button in the menu and no synced bits. Use it when something should follow a state the avatar already has: hide the hair while the hat is on, blush while the right hand shows a thumbs up, change the face only while sitting.

This page covers triggers that follow a toggle or a parameter, and the parts every trigger shares: the conditions, the groups and Only while.

To add a trigger, press + Trigger in the toolbar. On a narrow inspector, it sits under + More. Only Advanced mode can add a trigger. A trigger that exists shows its whole panel in both modes; in Simple mode, the panel starts with a note that it is an advanced item. Triggers sit under Triggers at the end of the tree, where each row shows a short form of its condition when the tree is at least 360 pixels wide.

The settings in the order the panel shows them.

Shown in: Simple and Advanced · Default: New Trigger · Choices: any text

The trigger's name in the tree and in messages. A trigger has no button in the menu, so its name has no style row.

Shown in: Simple and Advanced, while the trigger has one condition · Default: Another toggle · Choices: Another toggle, A parameter, A blendshape is animated, Contact, PhysBone

What starts the trigger. The fields under it change with the choice. Once + And or + Or adds a group, When goes away and each row in the groups picks its own kind. When removing rows leaves one condition, the groups go away and When comes back with that condition. A blend shape trigger always keeps When.

Shown in: Simple and Advanced, with Another toggle · Default: none picked · Choices: every toggle of every AvatarDoc component on the avatar

The toggle the trigger follows. A toggle of another component shows that component's object name beside it. The list under it chooses is on, the default, or is off.

When the avatar has no toggle at all, the list shows No toggles in this component and is greyed out: add a toggle first.

A toggle on a component that is switched off is not built, so a note says the trigger will not fire.

Shown in: Simple and Advanced, with A parameter · Default: empty · Choices: any parameter name

The parameter the trigger watches, such as GestureRight. Type the name, or press the arrow button at the right end. The list has a search field and groups the parameters by where they come from, each with its type:

  • Avatar: the avatar's own parameters and those its components provide.
  • AvatarDoc: the parameters AvatarDoc plans for its own controls.
  • VRChat: VRChat's own, such as GestureLeft or Seated.
  • VRCFury: VRCFury toggles that use a global parameter, when the avatar has any.

A parameter that nothing on the avatar declares is read as a Float, and a warning says so.

Shown in: Simple and Advanced, with A parameter · Default: Is on · Choices: Is on, Is off, Equals, Is not, Is above, Is below

How the parameter's value must compare. For a parameter that is on or off, use Is on or Is off. For a number, the other four compare it with Value.

On a whole number, Is on means not 0. On a Float, it means more than 0.5, and Equals means within 0.005 of the value.

Shown in: Simple and Advanced, with Equals, Is not, Is above or Is below · Default: 0 · Choices: any number

The number the condition compares with. GestureRight Equals 7 is true while the right hand shows a thumbs up.

Shown in: Simple and Advanced, with A parameter, while the first parameter is a Float or the trigger is already in Fade mode · Default: Hold · Choices: Hold, Fade

  • Hold: the effects are on while the conditions are true, and off the moment they are not.
  • Fade: the effects blend in with the first parameter's value, from 0 to Fully on at, while the trigger's other conditions are true. The first parameter has no Condition then: its value itself moves the effects. Use it for a value between 0 and 1, such as GestureLeftWeight, how hard the left hand squeezes: the trigger on Index controllers, the grip on most other controllers. The Gesture faces window uses it for Fist strength.

A parameter that is on or off, or a whole number, has no value in between to follow, so its trigger does not show Mode.

Shown in: Simple and Advanced, in Fade mode on a parameter · Default: 0.8 · Range: 0.05 to 1

The value of the first parameter at which the effects are fully on. Above 0 they start to show, and between 0 and this value they blend.

Shown in: Simple and Advanced

The line that spells out the whole rule, built from every condition, such as When "Hat" is on, and only while "Hair hiding" is on. The summary prints the same sentence.

Shown in: Simple and Advanced

Adds a condition that must also be true. The first press moves the trigger's condition into a group, a box captioned All of, and adds a new row to it, set to Toggle. Each group has its own + And.

A group holds at most 4 conditions. The button switches off at 4, and its tooltip says to start another group with + Or.

Shown in: Simple and Advanced, on a trigger that follows a toggle, a parameter, or a touch in Hold or Flip mode

Adds another group: one more way the trigger can fire. Any of these sits between the groups. The trigger fires while any group is fully true, and a group is true while all of its conditions are.

Use at most 4 groups of 4 conditions each. A larger rule, or one that would need more than 64 ways to turn the trigger back off, is refused with an error that names the counts.

Shown in: Simple and Advanced, once the trigger has groups · Default: a new row is a Toggle condition · Choices: Toggle, Parameter, Contact, PhysBone

Each row starts with a list that picks its kind, and an x that removes it. The x on a group's caption line removes the whole group.

  • A Toggle row has Toggle, which starts at (no toggle), and is on or is off.
  • A Parameter row has Parameter, Condition and Value, as described on this page.
  • A Contact or PhysBone row shows its condition in words and a Settings button. The button opens its settings, which Touch triggers describes, and the Scene view handle of a contact.

Shown in: Simple and Advanced: in the Advanced fold while it is (always), in the panel once a toggle is picked · Default: (always) · Choices: (always), or any toggle on the avatar, with is on or is off

A menu switch for the trigger: it works only while the chosen toggle is on, or off. (always) means no such limit.

Add a menu switch makes a new toggle named after the trigger, on by default, saved and synced, with no effects of its own. It sets the toggle as the trigger's Only while and selects it in the tree, all in one step.

The scene preview and the wheel's Test mode respect Only while too. On a contact trigger, the contact stays on the avatar while the switch is off: only its effects wait. On a blend shape trigger and a Fade contact, Only while counts as one more requirement.

Shown in: Simple and Advanced · Default: Objects, empty · Choices: Objects, Blendshapes, Materials, Properties, Follows

A trigger has the same effect sections as a toggle, except Animations. A trigger in Flip mode has none, and a blend shape trigger and a trigger in Fade mode have no Follows. The sections are Objects, Blend shape rows, Material slots, Material properties and Follows. + Add effect adds a section. A trigger can also hold the rest of a mesh while it fires, with Hold the rest.

On means while the trigger fires, and off while it does not.

Shown in: Simple and Advanced · Default: Default · Choices: Default, On, Off

On shows the trigger's effects in the Scene view as if its condition were true. Default stops the preview.

Shown in: Simple and Advanced, in the Advanced fold · Default: Inherit · Choices: Inherit, Both, PC only, Quest only

Which build makes the trigger. A trigger sits in no submenu, so Inherit takes the component's Platform.

At upload, a trigger adds one layer to the avatar's FX animator, named AD: and the trigger's name, with an off state and an on state. Its conditions become the moves between them. When the trigger changes a material property on an avatar with Write Defaults off, the layer also gets a Reset state, which it passes at load and on its way from on to off to set the property back to rest once; see Explicit rests. It adds no parameter, no menu button and no synced bits: it reads parameters that already exist. A trigger with Pin rows or a rule that holds the rest puts those in a layer of its own, like a toggle.

A parameter trigger in Fade mode builds one layer instead, named AD:, the trigger's name and (follow): a resting state that writes no blend shape while the first parameter is 0 or another condition is false, and a blend from the effects' rest values to their full values over the parameter. It is built like a pin layer, at the end of the FX animator, in the place the trigger has among the other triggers.

When a trigger and a menu control change the same thing, the one AvatarDoc builds later wins. Triggers come after every menu control.

Docs for AvatarDoc 0.7.1