
Variables
Variables in LABO are flexible data containers used to track, control, and synchronize information throughout an Experience. They enable real-time logic and provide detailed records of behavioural and environmental changes.
Variables are organized into two scopes: Global and Instance. Click on the navigation card below to learn more about these scopes.
Variables can either be single (i.e., hold one value) or a set (i.e., hold a collection of values). LABO offers 13 different data types for Variables, giving you the flexibility to store any kind of data you need.
Variables can be updated in multiple ways—at the start of each Epoch (On Start), in response to participant actions, or at any Event-Point across Interactives, Screens, Scenescapes, and more. This makes them ideal for tracking interactions, triggering feedback, or modifying the environment as the Experience progresses. In addition to logging,Variables can drive real-time behaviour. For example, you can link a Float Variable to environmental lighting, or stream a Variable through Lab Streaming Layer (LSL) to synchronize with external biosensors.
By combining flexible update triggers, real-time control, and synchronized logging, LABO’s Variable system supports rich, adaptive Experiences without the need for custom scripting.

Variable Data Types

Boolean
BooleanVariables allow you to store True or False values.
For example, imagine you're tracking a participant's progress in a task. You can use a BooleanVariable to mark the task as completed (True) or not completed (False). When the task is finished, you set the BooleanVariable to True using a VariableResponse. This can trigger actions like showing a success message or moving to the following Epoch.