Skip to content

Drivers

Video tutorial — coming soon

A driver is a widget that writes a value.

Where a pose layer says "at this position, expose frame 861", a driver says "set this node's OPACITY to 43.7", or "swap this drawing", or "disable this node".

Add one with + → Driver in the Outliner. It is created and routed straight into its editor — there is no dialog.

Driver editor

The editor is two sections: Setup (what it drives and how) over Values (the knob you actually turn).


The four kinds

Kind Widget Try it
Checkbox Two states
Combo Slider N discrete options
Continuous Slider A range
Continuous Grid A 2-D pad

A driver pad is always continuous — a discrete 2-D thing is a pose layer, not a driver.

Changing the kind rebuilds the Values knob live, and any attribute the new kind cannot drive is dropped rather than silently kept.


Setup

Targets

The nodes this driver writes to. + offers:

Entry Adds
Add from Node View Whatever is selected in Harmony
Look-At ▸ A look-at field — the driver takes over that field's value
Driver ▸ Another driver — this one drives that one
Constraint ▸ A constraint — this driver gates it on and off

The list is hybrid: Harmony nodes and internal targets live side by side.

Same kind only

A driver can only drive another driver, or a look-at field, of its own kind. A checkbox drives checkboxes, a slider drives sliders. The reason is concrete: a checkbox writing 0/1 into a slider pins it to two values, and a slider writing 37.5 into a checkbox is read as "on".

When nothing qualifies, the submenu is disabled and says so: "No other Slider driver to be driven by — a driver can only drive one of the same kind."

Only a Checkbox driver may gate a constraint, because a constraint is on or off.

Behaviour

Field What it does
Label The name the animator sees on the widget.
Widget Checkbox / Combo Slider / Continuous Slider / Continuous Grid.
Operation What the value does — see below.
Attribute Which Harmony attribute to write. The list is filtered to attributes this widget kind can actually drive.
Visibility Group Where the widget lives.
Blend Only appears when a target overlaps another author.

Operations, by kind:

Kind Operations
Checkbox Toggle Attribute, Enable / Disable Node, Show / Hide Node Controls, Show / Hide Deformers
Slider Set Value, Multi-Attribute
Combo Set Value, Multi-Attribute, Drawing Substitution
2-D pad Set Value, Multi-Attribute

Under Multi-Attribute the Attribute field is disabled and reads "mapped per row in Options ▸ Attribute Mappings" — each row gets its own attribute there.

Greyed, never hidden

When a widget kind is unavailable, ORC greys it and puts the way out in the tooltip — for example "This driver drives «Blink», which is a Checkbox — remove that target from the Targets list to change type." You are never left guessing why an option will not take.

Options

What appears here depends on the kind and operation.

Handle Min / Handle Max — the numeric range the handle maps to, default 0–100. Default — where it starts.

Under Multi-Attribute the min/max disappear: the handle is a percentage, and each mapping row carries its own range.

X Min / X Max / Y Min / Y Max, plus Default X / Default Y. Default span is 0–1 on both axes.

+ Option adds an entry. What an option contains follows the operation:

Operation An option is
Set Value A label and one number
Multi-Attribute A card holding several attribute rows and/or drawing swaps
Drawing Substitution One drawing per READ target, mirrored automatically

Default picks which option the rig starts on.

With zero options the Values knob is disabled and says: "This knob has no options yet. Add them in Setup ▸ Options to make it usable."

For a slider or pad under Multi-Attribute. Each row is a node, an attribute, a min, a max, and — for a pad — which axis drives it. The driver's 0–100 % is remapped into each row's own range.

Influence

Every driver can carry an influence: a second widget, 0 to 1, that decides how much this driver is allowed to do.

Field Meaning
Influence Widget Slider (anywhere between) or Checkbox (all or nothing)
Influence Visibility Group Where the widget lives — Hidden conceals it
Influence Default The strength the rig is born with — 100% is full drive, the neutral

The default is set with the same widgets the rest of ORC uses — the nav slider with its anchors and arrows as a percent scale, or a checkbox when the influence itself is one.

In the Widget Editor the influence is a widget like any other: always listed (greyed while Hidden, like everything hidden), with its own Visibility Group editable right there, its own Label field (default <driver> - Influence, shared with the composed rig) and a glyph that follows its slider / checkbox type.

Hidden conceals the widget; the default still applies. A driver whose influence sits in Hidden at the 100% neutral simply drives — nothing extra exists in the rig. But set the default to, say, 50% and hide it, and you have hard-wired "this master drives at half, always" without giving the animator a slider: the value lives on as an attribute in the composed MC's Layer Properties, reachable there and nowhere else — the same treatment the Interpolation toggle gets.

What influence means depends on what is being driven:

Driving At influence 0
A numeric attribute The value returns to what it was before this driver — a straight blend
A toggle The driver does nothing (below 0.5 it is simply skipped; a half-enabled node has no honest meaning)
Another widget, or a look-at field The driver releases it — the target answers to its own control again

That last one is the one to remember: influence on a driver-to-driver link is release/hold, not a blend.

Scope

Field What it picks
Control Which control owns this driver — or Globals
Keyed across Global, Control, Pose Layer, or Control + Pose Layer
Pose Layer Which layer, for the layer scopes, plus Use pose layer knob
Side Which page side, when the layer has more than one page

This is the driver's key domain — it decides whether the driver holds one value everywhere or one value per snap.

A checkbox driver is Global only

Everything else greys out with the reason. If you need a per-snap on/off, use a Combo Slider with two options.


Values

Driver values

The knob itself, plus a small auto-key dot in the section header — green when on.

Sliders and combos come with nav chrome: / step one tick, and the two end anchors — start and end — jump to either extreme.

Changed values go yellow after a re-open

On a rig re-opened from a composed MC, a driver value changed at a snap marks that snap yellow on the driver's navigators — layer grid, slider tick head, knob card — and on the control snap above it. Re-keying the same value marks nothing: yellow reports what is different, not where your cursor has been. See Visual Indicators.

Keying a driver

Hover the knob and press F6, or right-click it:

Item Notes
Set Key F6 Disabled at Global scope, with the reason
Remove Key F7 Disabled when there is no key here
Set as Default
Reset to Default
Driven by ▸ Which driver drives this one

At Global scope the keying items explain themselves:

This driver's Scope is Global, so it holds one value everywhere. Set Scope to a control grid in Setup to key per snap.

Colours

Colour Meaning
Green Keyed at this snap
Red Interpolated — blended from neighbouring keys
Pink Driven by another driver

Keyed green wins over driven pink, and when you remove the key the pink returns underneath. A driven knob stays interactive — you can push it to preview, and compose overwrites it from its source.


Additive drivers

A driver whose blend is Additive writes on top of what another author already produced. Its keys are deltas, not absolutes, and zero means no change. The Outliner marks it with a Σ.

The blend defaults follow the scope — global drivers add, per-snap drivers override — and the row only appears when a target genuinely overlaps another author.

Additive is applied only to targets that actually overlap. A sole-authored node has no base to add onto, and adding onto your own previous write is how a value runs away.


Muting

Right-click a driver in the Outliner and choose Mute: "Skip this driver at compose without deleting it (dimmed in the outliner)."

The row dims, the driver stays in the rig, and Compose ignores it. It is the way to test a rig without one driver in it.


What a driver becomes

At Compose each driver turns into a widget on the canvas plus a function that runs whenever it moves and once per rig update. It carries its own attributes on the MC node, so an animator can key it on the timeline like any other Harmony attribute.