Context:
A wide range of applications already support driving simulator studies, including CARLA, miniSim, VI-GRADE, SCANeR, and others, each with distinct strengths and limitations. However, many academic institutions are turning to free and accessible gaming platforms such as Unreal Engine and Unity. In the Human Factors Group at the University of Michigan Transportation Research Institute (UMTRI), a multidisciplinary team of 19 students is developing an Unreal Engine-based driving simulator as a research tool to investigate the difficulty of driving roads and for other purposes.
Problem:
Until recently, the absence of consistent documentation has created major obstacles, including errors in code management and steep learning curves for new contributors. To address the issue, the team initiated a development freeze and established documentation standards tailored to Unreal Engine’s Blueprint framework, a graphical node-based programming language that poses organizational and learning challenges distinct from text-based languages such as C++ and Python.
Solution:
The resulting guidelines emphasize (1) clear explanations of Blueprint node functions, (2) annotated visual programming, and flow diagrams to illustrate logic sequences, (3) structured data dictionaries to track variables, inputs, and outputs, and (4) consistent naming conventions. In addition, the documentation guidelines streamline the process of onboarding novice developers of driving simulator software which occurs annually by providing a framework that makes vehicle functions and dynamics intuitive.
Since implementation, the team's productivity has approximately doubled, developer frustration has reduced, and onboarding of new members has accelerated. This bulk of the paper is the full set of documentation guidelines, the iterative development process, and concrete examples of Blueprint code before and after the process to illustrate how these standards have improved clarity, reduced redundancy, and streamlined debugging.