Skip to main content
Epoch Editor

Epoch Editor

Each Epoch uses modular, reusable components you can combine to create a wide range of tasks—from simple instruction screens to fully immersive experiences. Epochs feature configurable termination conditions (such as duration, input, or interaction) and branching logic to control flow, making it easy to build randomized, conditional, or adaptive experimental protocols.

Epoch - Start

Epoch - Start

The On Start tab defines what should happen at the very beginning of an Epoch — before any objects such as Scenescapes, Participants, Screens, or Interactives are instantiated.

By attaching Actions to the Event-Point, you can define processes that run as soon as the Epoch begins. These may prepare your experimental logic, initialize state, or communicate with external systems — all before any content is displayed to the participant.

Example Use Cases

  • Setting a custom variable to mark the start of a trial
  • Playing a sound cue or triggering a device response
  • Sending data to an external API or logging system
  • Executing custom code for specialized needs — such as initiating a counterbalanced condition, setting up a randomized trial sequence, or integrating with an external device
Variable Update

Variable Update

Variable Update Actions update the current value of a Variable. Update modifiers depend on the Variable's Data Type (Boolean, Float, Image, etc.) and the Variable's Value Type (i.e. Single or List). Use the dropdown sections below to learn more about Variable Updates for different Data and Value Types.

Target Variable

The Target Variable is the Variable that will be updated.

Complex Operations
In cases where you need to do more complex operations on a Variable, consider writing a custom MonoBehaviour script with a method that updates the Variable value in any way you see fit. This method can then be executed at the Event-Point using a Code Message Action.