Events
Irregular • File:
EventPoints.csv• Writer:LaboEventPointDataWriter.cs
At a glance
EventPoints is the authoritative log of experimental events — everything that increments the global EventNumber or marks an epoch transition. Every event is stamped at trigger time with the exact frame and MonotonicExecutionTime, so the row reflects the real moment the event fired, not when the writer got around to serialising it.
Think of EventPoints as the answer to "when and why did things happen?" Every EventNumber change you see in other CSVs has a corresponding row in this file explaining what that number means.
When it writes
A row is emitted whenever external code calls LaboDataCapture.Instance.EventEntry(observation). Internally that calls the writer's RecordEntry, and the observation is stamped at construction time (via LaboObservation.Stamp()) with the current frame / time / epoch context.
Triggers include:
- Event-point firing — an
EventPointobject in the experience fires. - Action execution — an action bound to an event runs.
- Response generation — responses generated by the experience (prompts, stimuli).
- Epoch lifecycle transitions — epoch start, epoch end.
Every event can have child observations via the entry.children chain. The writer flattens these — one row per child — so a parent event with three children produces four rows in the file.
File & location
- Default:
EventPoints.csvin the run directory. - Writer:
LaboEventPointDataWriter.cs. - Observation:
Runtime/DataCapture/Observations/EventPointObservation.cs.
Configuration
EventPointsDataCapture SO (subclass of DataCaptureConfig). Fields:
| Field | What it does |
|---|---|
enabledLogging | Master enable/disable. |
fileName | Override the default name. |
flushEveryNRows | Batched flush cadence. Default 30. |
writeHeader | Write the header row on first emission. Default true. |
Auto-created on experience open. WindowUtility.OpenExperience() populates this slot if missing — no need to create it manually before first use. To find trigger sites in code, grep for LaboDataCapture.Instance.EventEntry.
Columns
Shared prefix
See Column conventions — The shared prefix. The shared columns are captured by Stamp() at trigger time, so FrameNumber / MonotonicExecutionTime reflect the real moment the event fired.