Built off the Unity Experiment Framework, UPBS is a collection of data analysis tools which allow for deterministic, frame-by-frame replays of experimental trials in their original environment. From there, developers can add additional visualizations and analysis directly in Unity.
This project was recently displayed at the Psychonomic Society 2022 confrence and a digital version can be viewed here:
These tools are still early in development, but this page will receive updates as development progresses.
Data collection paradigms and processes are implemented using UXF's source. Minor modifications are made to support Playback features, but implementing UXF is procedurally identical here.
Rather than dirtying the experimental environment, UPBS offers the ability to generate copies of said environment that carry over all information relevant to visual stimuli.
Scrub through each frame of trial data just as you would a video player with the ability to play in reverse and alter speed. The standard camera perspective in Playback environments is based on the subject's camera during data collection. However, you can add alternative camera perspectives or navigate the scene in 3D using the Free Camera.
UPBS provides a straightforward coding framework for adding visualizations extrapolated from collected data. Potential visualizations can include elements like raycasts, heatmaps, graph overlays, or other representations match an experimental paradigm.
For experimental setups that require the use of external tools for data collection, UPBS allows that data to be introduced to Unity and visualized alongside Unity-side data. Given potential differences in recording rate and data formatting, some unique restrictions may apply to external data.
Since UPBS provides replays with all of the original environmental state information relevant at runtime, it also supports the ability to export additional data during playback. This is especially useful for processes that would compromise frame-rate during experimentation.
For inquires on the project, feel free to reach out to me at xmarshall.dev@gmail.com