Variables are used by module builders to configure how data moves through a Workshop module. A list of available variable types can be found below.
To access existing variables in a Workshop module or define new variables, open the Variables menu found in the left sidebar.

The Variables panel (shown above) displays a list with the current variables that exist within a module, a plus + button to add a new variable, an input to search variables by their name, a button to open the variable dependency graph, and a filter to display variables based on their definition type or what settings are enabled.
Selecting a variable from the list on the left allows you to view and modify the configuration of that variable in a window that opens to the right of the variables list. The following configuration options are available:
The screenshot below shows an example configuration for an Object Set variable:

The screenshot below shows an example configuration for a string array variable:

In view mode, Workshop variables will compute and recompute lazily only when displayed by a visible widget or layout. This means that variables used in non-visible pages, tabs, overlays, or non-visible pages of a looped layout will not be computed until they are shown. This behavior is the same for non-visible variables used in embedded modules.
In edit mode, all variables are computed for convenience in the editing experience so that you do not need to navigate to show variables for them to be computed.
Workshop supports the following variable types:
true or false. Initialized from either a static value or the output of a function, aggregation, or object property.Workshop offers the following configurable recompute behavior options for variable definition types:
The recompute options behave in the following ways:
The Object set definition variable definition type does not offer recompute behavior configuration, and functions similarly to Automatic recompute behavior. If this is undesirable, the recompute behavior may be set on upstream variables. If you wish to manage the recompute behavior of object set variables explicitly, you can use a function backed variable.
The header of the Variables panel, contains a button with a graph node icon. This button opens the Variable dependency graph. This dependency graph offers a way to debug your variables, showing the dependency graph of variables and widgets within the module. Selecting a variable node in the graph will reveal information about the following:
Notably, next to the variable value configuration is an option to clear value which will reset the variable definition to the empty state.
Widgets are shown as nodes in the graph but offer no additional information when selected.
