bmlTUX: Design and control of experiments in virtual reality and beyond

The BioMotionLab Toolkit for Unity Experiments helps you design and run experiments in Unity quickly and iteratively without fussing over coding details. You define your variables and experiment structure, and the toolkit will automatically create a table of trials to run. You can customize what happens before, during, and after a trial, block of trials, or the experiment itself, while not having to worry about the details of setting up and running your experiment. You configure an experimental design, write custom behavior and functionality, and then the toolkit will automatically construct your experiment, create and run all required trials, and outputs the results to a file.



    title={bmlTUX: Design and Control of Experiments in Virtual Reality and Beyond},
author={Bebko, Adam O and Troje, Nikolaus F},     year={2020},
month={July} }


Adam O. Bebko (York University) and Nikolaus F. Troje (York University)


Advances in virtual reality (VR) technology have made it a valuable new tool for vision and perception researchers since it offers a critical depth cue, active motion parallax. Coding VR experiments from scratch is difficult and time-consuming so researchers rely on software such as Unity game engine to create and edit virtual scenes. However, Unity lacks built-in tools for controlling experiments. Existing third-party add-ins require complicated scripts to define experiments. This can be difficult and requires advanced coding knowledge, especially for multifactorial experimental designs. In this paper, we describe a new free and open-source tool called the BiomotionLab Toolkit for Unity Experiments (bmlTUX) that provides a simple interface for controlling experiments in Unity. In contrast to existing tools, bmlTUX provides a graphical interface to automatically handle combinatorics, counterbalancing, randomization, mixed designs, and blocking of trial order. The toolbox works “out-of-the-box” since simple experiments can be created with almost no coding. Furthermore, multiple design configurations can be swapped with a drag-and-drop interface allowing researchers to test new configurations iteratively while maintaining the ability to easily revert to previous configurations. Despite its simplicity, bmlTUX remains highly flexible and customizable, catering to coding novices and experts alike.


Installation instructions and documentation can be found here. A video tutorial series can be found here.

The source code can be found on GitHub

The license for accessing and using bmlTUX can be found below or at this link

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

If you would like to use it for commercial purposes, please contact


We would like to thank several colleagues and students who volunteered their time to test the system, tutorials, and documentation especially Xiaoye Wang, Anne Thaler, Max Esser, Johannes Kurz, Harun Karimpur, and Carly King. 


Please send an email to adambebko[at] for technical questions or for licensing questions. 

Please cite the paper when you publish your work.