Skip to main content

Drivers

Driver means how you want this smart control to be driven by which mechanism.

caution

🚧 This part of the documentation is still a work-in-progress.

Animator parameter driver

This is a generic driver that allows to use a custom animator parameter to control this SmartControl.

If the animator parameter name is left empty, it will be automatically generated on build.

This driver will add or replace the existing DT Menu Item component in the same GameObject. The menu item will control the SmartControl directly with a single parameter.

Menu Item Driver

If the animator parameter name is left empty, it will be automatically generated on build.

Currently, it supports the following:

ButtonToggleRadialTwo-axisFour-axisSub-menu
Binary
Motion Time

✅: Supported, ❌: Unsupported

Parameter slot driver

Since 2.5.0

SmartControls using the same parameter slot are assigned with a specific value, and controlled by a single int or float animator parameter. Only the SmartControl that the parameter value matches with will be enabled.

Parameter slot driver

The mechanism is similar to Unity animator's Any State but internally it is not used.

For more details, please read the documentation for Parameter Slot.

VRCPhysBone driver

Since 2.4.0

This driver makes the SmartControl to be controlled by a VRC PhysBone component, allowing to easily create controls to interact with other players.

VRCPhysBone Driver

If the animator parameter prefix is left empty, it will be automatically generated on build.

For more details about PhysBone interactive features, please refer to the official VRChat documentation here.

caution

You must select at least one condition or one source. Otherwise, the SmartControl will be ignored and will not be generated.

For different combinations of conditions and sources, they generate different control type of animations:

NoneGrabbedPosedGrabbed or Posed
NoneBinaryBinaryBinary
AngleMotion TimeMotion TimeMotion TimeMotion Time
StretchMotion TimeMotion TimeMotion TimeMotion Time
SquishMotion TimeMotion TimeMotion TimeMotion Time

❌: Will be ignored and no generation

For example, if you want your Ahoge hair to be always affecting the control when being squished without grabbing or posing, you would want to set Condition to None and Source to Squish.

If you want it to only be affected by stretching when grabbed or posed, you would want to set Condition to Grabbed or Posed and Source to Stretch.