Variables can be set up and used in templates. Many variables you may use are set up via template arguments, but some may be preferences a user can set up that are used in system templates.
When expanding a template, variables are stored in a dictionary. Dictionary entries are variables. Variables defined in templates can have string like values.
A variable can be set like this:
set VARNAME "some value"
Note that a VARIABLE is a name in a dictionary that can be used in a MACRO in a template. The macro references some variable by name.