Built-in Variables

Substance Designer is dynamically generating built-in variables that you can call and use in your functions.

How to call a built-in variable ?

When you create a "Get" variable, all the built-in variables that correspond to the get node type will appear in the Variables drop-down list.

System Variables list

The built-in variables always begin with a Dollar symbol ("$"), and are as follows:



Data type



This variable returns the time in seconds since the Substance rendering engine was started.

It is ideal for Substances which need to animate according to time. (E.g. the hands of a clock.)

In some applications, including Substance Player, a Substance that uses $time will cause a timeline to appear in the user interface.

$depth-float1Returns the octave (level) number of the FX-Map node. This allows a node to modify its behavior according to which level in the quad-tree it represents.
$depthpow2-float1As above, but returns 2 raised to the power of the octave (level) number. This is a helper value that comes in useful for some common calculations.

Specific to


Returns the number of the drawn pattern. This can be accessed by Dynamic Function graphs controlling an Iterate node to modify its behavior at each iteration step. (Note that $number starts counting from 0, not 1.)

$size-float2Returns the size of the current node (in pixels).
$sizelog2-float2As above, but returns the size as power-of-2 values (ex: for 2048*2048 image, $sizelog2 returns 11).
$posPixel Processor and Quadrant Nodes onlyfloat2Returns the birth position of the pattern. The result is always a value between 0 and 1.

Returns the Node current tiling mode:

0: Relative to input
1: Relative to Parent
2: Absolute