Skip to content

Variables

Variables let you store data that persists across your node graphs and throughout your streaming session. Use them to track donation totals, store viewer names, count events, and share data between different parts of your project.


Variables are named containers that hold values. Instead of hardcoding a number or text, you store it in a variable and reference it by name. This lets you:

  • Track state - Count donations, track scores, store usernames
  • Share data - One node graph can set a value that another reads
  • Update dynamically - Change values at runtime based on events
  • Persist across graphs - Variables live at the project level, not individual graphs

Variables can hold different types of data:

TypeDescriptionExample
IntegerWhole numbers42, -5, 0
FloatDecimal numbers3.14, -0.5, 100.0
BooleanTrue or falsetrue, false
StringText"Hello", "ViewerName"
Vector22D coordinates(100, 200)
Vector33D coordinates(0, 5, -10)
ColorRGBA color valuesRed, Blue, custom colors
ArrayLists of values[1, 2, 3], ["a", "b", "c"]

The variable type is set when you create it and cannot be changed afterward.


  1. Open the Variables panel
  2. Click “Add Variable”
  3. Enter a name
  4. Choose the variable type
  5. Set an initial value

Use the Create Variable node to create variables dynamically:

Create Variable node

This is useful for initializing variables when your stream starts.


Use the Get Variable node to read a variable’s current value:

Get Variable node

Use the Set Variable node to update a variable:

Set Variable node

Most variable updates follow this pattern:

  1. Get the current value with Get Variable
  2. Modify it (add, subtract, append, etc.) with Math nodes
  3. Set the new value back with Set Variable

Variables created in the Variables panel or through nodes are project-level:

  • Accessible from any node graph in your project
  • Persist throughout your streaming session
  • Shared between OverMox and the node graph editor

Variables persist as long as OverMox is running. When you close and reopen OverMox:

  • Variables defined in the Variables panel are restored
  • Variables created dynamically by nodes need to be recreated

Arrays are special variables that hold lists of values. They’re essential for:

  • Leaderboards (list of names and scores)
  • Queues (list of pending requests)
  • Collections (all donation amounts)

See Variables Nodes for complete array operations:

NodePurpose
Array CreatorCreate a new array
Add Array ItemAdd items to an array
Get Array ItemRead a specific item
Set Array ItemChange a specific item
Get Array SizeCount items in array
For Each Array ItemLoop through all items
Clear ArrayEmpty an array

Use clear, descriptive names:

GoodBad
total_donationstd
current_viewer_namename
alert_queuearr1
is_livex

Create variables at stream start (using a Start Process node) to ensure they exist before other graphs try to use them.

Choose the right type for your data:

  • Use Integer for counts and whole numbers
  • Use Float for amounts with decimals
  • Use Boolean for on/off states
  • Use String for text and names
  • Use Array for lists of related items

🎯 Check Before Use: If a graph might run before a variable is created, handle the case where it doesn’t exist yet.

🎯 Reset Between Streams: Clear counters and queues at stream start for fresh data each session.

🎯 Use Arrays for Related Data: Instead of donor1, donor2, donor3, use a single donors array.

🎯 Name Consistently: Pick a naming style (like snake_case) and stick with it throughout your project.

🎯 Document Purpose: If you have many variables, keep notes about what each one tracks.