The game engine Unity is a powerful tool with many features used in the creation of games,
visualisations, and industrial applications. The number of features leads to a steep learning
curve for beginners and inexperienced users. In addition, there are often several paths to solve
a problem or to structure a project. Whether the chosen path was the right one, frequently only
becomes apparent after some time has passed. Especially for inexperienced users and teams
this can be a problem.
The goal of this work is to develop a plugin for Unity, named Unity Editor Best Practice Checker
(UEBPC), which scans the project for common problems and alerts the user to them. UEBPC is
envisioned as a Unity package directly embedded in the Unity environment. Nine requirements,
specifying the vision, are derived in collaboration with the stakeholder.
While Unity’s community provides plenty of information regarding best practices outside of
Unity, no Unity package supporting best practices is available to date. For programming in Unity,
a checker was developed in a previous business project that analyses C# code best practices in
real-time in the Integrated Development Environment (IDE).
The basic concept envisions a Unity package as a single module monolith with a three-layer
structure. The User Interface (UI) is built with Unity’s UI elements and seamlessly embeds in
Unity’s framework. Best practices are easily extendable and its business logic reusable. The
persistence is decoupled from the business logic and UI. To ensure functionality, a test strategy
is derived and followed.
For the project methodology, an agile approach utilising Scrum is applied. The six sprints are
prioritised based on identified risks and their mitigation. To ensure the best possible software
product, a test script based on the test strategy is derived.
The realisation started with evaluation of possible best practices. In total 33 best practices are
identified and prioritised. The best practices are for example checking for missing or outdated
packages, scanning specific asset properties or finding files in certain folders. Next, the Unity
editor UI is created. It is designed in a modular fashion making best practice extensions simple.
The editor supports undo- and redo-actions and persists the state of UEBPC. In total the seven
highest priority best practices are successfully implemented. Each best practice has its documentation, describing the best practice purpose, what is analysed, fixed and provides further
sources with in-depth knowledge. One of the best practices is the embedding of the previously
created business project best practice code analyser for IDE programming support. To evaluate
UEBPCs usability, a user test is planned. Three test metrics are identified to obtain feedback for
UEBPCs usability during the test with the test group.
All nine stakeholder requirements are successfully and, in their entirety, implemented. Each
requirement is reviewed in terms of its realisation. As a validation of UEBPCs usability, the
planned user test is performed. Valuable feedback was provided by its participants. Five actions
are identified based on the user’s responses. All actions are successfully integrated in UEBPC.
Overall, the participants gave positive feedback on the usability.
The project is concluded with reflections on the important design decisions. Each design
decision is reviewed regarding its current state and future impact. In addition, six recommendations for potential next steps are provided. In particular, the possibility of combining the IDE
code analyser with Unity’s analysis options promises great potential. This would allow for more
complex best practice checks and consequently better support for new and inexperienced Unity
users.