Logging Attributes
When a user experiences a simulation, their data is recorded in our data logging pipeline. This document describes the structure of the data.
Definitions
The following terminology will be important for describing the structure of the logged data.
Events represent some logged occurrence at any point in time during a simulation. These events can be both user generated (e.g. "user grabs an object"), or system generated (e.g. "system loads a simulation"). Events are timestamped to the millisecond.
User is the one who experiences the simulation. Depending on how they access the simulation, their userID may be registered differently.
Session begins when the user access the application and ends when the user leaves the application. A unique sessionID is generated per session.
Run begins when the user loads a simulation and ends when the user leaves the simulation.
Attributes are key-values associated with specific events. For example, a "grab" event will have an attribute "targetObject" to indicate that a user "grabbed the targetObject'.
List of Events and Associated Attributes
Below describe the list of events and the associated attributes that can appear in your Insights dashboard.
simulation_load
Simulation has completed loading
simulation_started
User has began the simulation
simulation_completed
User has completed the simulation
timeToComplete (seconds)
trigger_event_Collide
Trigger has been activated involving two objects colliding with each other
collided1: name of object that was collided
collided2: name of object that was collided with
trigger_event_Grab
Trigger has been activated by grabbing an object
grabName: name of object that was grabbed
trigger_event_Proximity
Trigger has been activated by moving onto a target position
locationName: name of the target location
radius: distance away from the center of target
trigger_event_Snap
Trigger has been activated by snapping an object into another
snapHitboxName: name of the object that will hold the snapped object
snapObject: name of the snapped object
trigger_event_SpeechReceived
Trigger has been activated by user speaking
trigger_event_Ungrab
Trigger has been activated by releasing a grabbed object
ungrabName: name of object that was released
trigger_event_Unsnap
Trigger has been activated by removing an object from a snapped position
snapHitboxName: name of the object that held the snapped object
snapObject: name of the removed snapped object
trigger_event_Use
Trigger has been activated by using an object
useHitboxName: name of the object that was used
trigger_event_UseRelease
Trigger has been activated when no longer using the object
useReleaseTargetName: name of the object that was used
state_machine_always_running_trigger_transition
Trigger (usually a user activated interaction/event) has been activated in the always running (global) state machine.
triggerType: the trigger that caused the change in state machine
state_machine_always_running_condition_transition
Condition has been met causing an activation in the always running (global) state machine.
The condition has been met in the format:
[AttributeName] [Operator] [AttributeGoalValue]
Example:
[ Count ] [ >= ] [ 10 ]
state_machine_transition_event
Transition between two states in the state machine
fromState: name of state transitioned from
toState: name of state transitioned to
state_machine_state_enter
Entered a state in the state machine
state: name of state entered
state_machine_state_exit
Exited a state in the state machine
state: name of state exited
general_user_utterance
User has produced an utterance by speaking or typing
utterance: user’s transcript
gpt_chit_chat
User has activated GPT chit chat
character.name: name of the character
character.prompt: prompt supplied to GPT
history.content: the conversation history
response: gpt response
utterance: user’s transcript
quiz_multiple_question
Quiz question has been submitted
question: the question that was asked
questionChoices: list of choices
selectedAnswers: answer selected by the user
Last updated