Skip to content

CVR Animator Driver

Controls Animator parameters from another animation. Useful for creating sub-animators and driving their parameters from the main animator. Up to 16 slots are supported — each slot has its own animated float (animatorParameter01 through animatorParameter16) plus a target animator, parameter name, and parameter type.

List<Animator>. Target animators, one per slot.

List<string>. Parameter names, one per slot. Use -none- or empty to skip.

List<int>. Parameter kind per slot:

  • 0 — Float
  • 1 — Int (rounded with Mathf.RoundToInt)
  • 2 — Bool (true when value > 0.5)
  • 3 — Trigger (fired when value > 0.5)
animatorParameter01 … animatorParameter16
Section titled “animatorParameter01 … animatorParameter16”

float. Public animated slots. The driver checks them every Update (and in OnDidApplyAnimationProperties) and writes the new value to the matching animator only when it changes (compared against an internal cached value).

  • When the target animator is the local player’s avatar animator (PlayerSetup.Instance.AnimatorManager.Animator), writes go through AnimatorManager.SetParameter so they integrate with advanced avatar sync. Otherwise the parameter is written directly via Animator.SetFloat/SetInteger/SetBool/SetTrigger.
  • Float and Int writes are skipped when the parameter is controlled by an animation curve on the same animator.
  • A write is only performed when the incoming value differs from the last-applied value, so polling every frame is cheap.

CVR-GameFiles/ABI.CCK.Components/CVRAnimatorDriver.cs