Today is finally the day I can say I’ve completed the first major milestone of my academic journey. After four months of hands-on project work, two months of meticulous writing, and what felt like an eternity of waiting for the chance to present my findings – the milestone of my bachelor’s thesis is officially complete.
What is it about?
The core objective is to identify repetitive tasks within the Unity Engine workflow and enhance efficiency by developing helpful, custom editor tools. The thesis is structured around this core idea and is divided into three main areas of interest:
- Improving the Distribution and Accessibility of Editor Tools
- Creating and Evaluating Tools to Increase Workflow Efficiency
- Making It Easier to Build Editor Tools in the Future
Unity Packages as Collection
To prove that tools can improve the workflow in a variation of tasks, I created quite a few. To build those tools i utilized unity’s UPM system. The regular way to import those packages into your project would be to aquire the url from the github repository and import the package via the package manager. To import all packages created for the thesis, the user would need to repeat this manual process quite a few times. Furthermore the user would be required to be familiar with all github repositories.
To improve this distribution method, the relevant packages are organized to a so-called “Package Collection”. The user is only required to import one package via the correpsonding github url. All other packages can then be imported via this main package. The main package contains the url and other meta data of the packages to display a custom version of the unity package manager.
This distribution method combines the advantages of allowing users to selectively choose which packages to import, while eliminating the need to know or search for the corresponding github urls. In addition, my thesis explores how this distribution method not only improves the user’s import workflow but also supports the development of new packages.
My Methods
In addition to the base package that ties the collection together, six functional packages have been created to this date. Four of those six packages where part of my bachelor’s thesis. To assess their usability and the efficiency improvements they offer, the packages were evaluated by a group of users. The follwowing packages where part of this evaluation.
- Scene – AutoSave (automatically saves scenes)
- Playmode – Start Scene (let’s you define a scene to start the playmode in)
- Validators (adds custom validation processes to unity)
- Screenshots (adds built in screenshot functionality with postproccing)
The users were tasked with completing a set of activities for each package, which compared both the time required and the inputs needed from the user. This should give insight into the efficiency improvements of each package. Additionally, a field study conducted over an extended period of time was carried out. The goal of this field study was to gain insights into whether users would adapt their behavior when introduced to new, more efficient tools, or if they would continue with their existing practices.
Findings
After evaluating the results, I can confidently state that all tested tools significantly enhanced the users efficiency in completing the given task. The user feedback for usability and user experience was great. I got great feedback that can be implemented in further versions of these tools. In addition to the efficiency enhancement the field study concluded that most users change their behaviour over time when they are given more efficient tools. However, more experienced users tend to take longer to adapt, as they are more accustomed to their workflows.
All listed findings, along with additional insights, are discussed in greater detail in my bachelor thesis. You can read the German version yourself here.
How can you use it?
If you wish to try these unity packages for your self head over to my github page. All MegaPint packages are free to use and only require the base package to be installed. All further information can be found on the respective repositories or inside the base package.
What now?
With the completion of my bachelor’s thesis, I have also been awarded my bachelor’s degree. From this point forward i can go and explore the world of software and game development on my own. But i chose to stay at my university for now. I am currently enrolled in my master’s program and aim to complete it by the end of 2026. After dedicating my bachelor’s thesis to tool development, I am more convinced than ever that I want to continue specializing in this field.