Globals & parameters
A handful of ready-made names you can drop into any Expression — time, frame, the parameter's own value — plus a way to grow your own slider.
Inside an The Expression language you mostly read attributes with @name. Globals are the other half: built-in names that start with $, always available, always live. Type one into a formula and it updates every frame on its own.
$T and $F — time and frame
$T is the current animation time in seconds. $F is the current frame number. These are the two you'll reach for most — they're what turn a static formula into a moving one.
sin($T * 2.0) * 10.0
That sways a value back and forth forever, twice per second. Drive a position, a colour channel, a radius — anything.
$F % 8
Counts 0,1,2…7 and repeats, handy for stepping through frames or cycling a pattern.
A few more you'll see:
$DT— seconds since the previous frame (a tiny number like0.016).$FPS— frames per second.$PI,$TAU,$E— the usual maths constants.
$T follows the Time & playback transport, so scrubbing the The timeline scrubs your animation too. Use $T (seconds) for motion that should feel the same regardless of frame rate; use $F when you genuinely want to count frames.
value — this parameter's own value
When you write an Expression on a parameter (rather than in an Expression node), value means that parameter's own current value — including any keyframes or connections feeding it. It lets you nudge a value without throwing away the animation already on it.
value + sin($T) * 0.1
That adds a gentle wobble on top of whatever the parameter is already doing. See Parameter expressions for where these live.
param("name", default) — grow your own slider
param("name", default) does two things at once: it reads a value, and if no control by that name exists yet it adds a slider to the node for you. The default is the starting value.
@P.y = @P.y + sin($T) * param("wave_height", 5.0)
The first time this cooks, a wave_height slider appears on the node, set to 5.0. Drag it and the motion responds live — you never edit the formula again.
The default has to be a plain number (like 5.0 or -0.5), not another formula. That's what lets the app find your slider and add it automatically.
param() is the quickest way to make an Expression tweakable — expose the one or two numbers you'll want to play with, then animate or Recording live input onto the slider like any other control.
See also
The Expression language — the Expression language overview
Expression attributes — reading and writing
@namedataBuilt-in functions — built-in maths and helpers
Parameter expressions — using
valueand globals on parametersTime & playback — what
$Tand$Fare tracking