Skip to main content
Version: v4.0.0

Binary Parameters

Nearly all VRCFaceTracking expression parameters can be used as a Binary parameter. Exceptions are listed in the Parameters list above.

Binary parameters are a set of parameters which take advantage of the binary counting system in order to save space inside of the VRC Avatar Descriptor's parameters. All Binary parameters are able to be smoothed using animation transitions, so if you are looking to compact your face tracking setup, Binary parameters are a good solution for that purpose.

You can use the Binary Parameter Tool, a Unity Editor plugin, to create animation layers that a Binary parameter can be used with. Highly recommended as creating the animation layers for a Binary parameter is very tedious.

Binary parameters can also control a single Float parameter inside of an animator to be able to interface with Blend Trees and other Float-exclusive fields inside an Animator, using animations that control a Float parameter. The Binary Parameter Tool can generate these as well.

Example of a Binary Parameter compatible animation layer:

Example of a single transition from AnyState to a State (in this case: JawForward1):

Parameter Name (Case Sensitive)Description
~~~1(Float Parameter) 20
~~~2(Float Parameter) 21
~~~4(Float Parameter) 22
~~~8(Float Parameter) 23
...
~~~X(Float Parameter) 2X
~~~Negative(Negative bit for Combined Lip Parameters)

Unique Binary Parameters

The following Binary parameters are setup differently compared to their Float counterparts.

  • EyeLidExpanded will return the value of a Blink when EyeWidenToggle is false, and returns the value of Eye Widen when EyeWidenToggle is true.
  • EyeLidExpandedSqueeze functions exactly as EyeLidExpanded, but also returns the value of Eye Squeeze when EyeSqueezeToggle is true.
Parameter Name (Case Sensitive)Description
1LeftEyeLidExpandedXLeftEyeLidExpanded 2X
LeftEyeWidenToggleLeftEyeWiden Widen State
1RightEyeLidExpandedXRightEyeLidExpanded 2X
RightEyeWidenToggleRightEyeWiden Widen State
1CombinedEyeLidExpandedXCombinedEyeLidExpanded 2X
CombinedEyeWidenToggleCombinedEyeWiden Widen State
1LeftEyeLidExpandedSqueezeXLeftEyeLidExpandedSqueeze 2X
LeftEyeSqueezeToggleLeftEyeSqueeze Squeeze State
1RightEyeLidExpandedSqueezeXRightEyeLidExpandedSqueeze 2X
RightEyeSqueezeToggleRightEyeSqueeze Squeeze State
1CombinedEyeLidExpandedSqueezeXCombinedEyeLidExpandedSqueeze 2X
CombinedEyeSqueezeToggleCombinedEyeSqueeze Squeeze State
1 **X** Represents an up-to number of params, so you would have 1, 2, 4, ... , **X** Binary parameters.