Skip to main content
Epoch Editor

Epoch Editor

Each Epoch draws on reusable, modular components that you can mix and match to create a wide range of tasks from simple instruction screens, to fully immersive, or anywhere in between. Epochs include configurable termination conditions (e.g., duration, input, interaction) and branching logic to control flow — perfect for building 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 anyway you see fit. This method can then be executed at the Event-Point using a Code Message Action.