100 Unity Mechanics for Programmers

student picture

Nicholas Young

Contact: LinkedIn

Over the past two quarters, I worked with Professor Yusuf Pisan on the 100 Unity Mechanics for Programmers research project. The objective of the project is to help Unity developers, both beginners and advanced, learn how to implement Unity mechanics in a more straightforward, easier-to-understand way. Despite having a large user community, there aren’t comprehensible resources for learning Unity. YouTube videos must be followed step-by-step and are not searchable. Text forums are poorly organized where answers often reference older versions of Unity and can take hours to digest, even when learning how to implement a simple mechanic.

Having a separate tutorial for each mechanic makes it easier to develop Unity projects. I compiled a list of 100 commonly used Unity mechanics when developing games and reviewed them with Professor Pisan in our regular meetings. In particular, I focused on mechanics used in the final student projects in the Introduction to Game Development course as these mechanics represented good examples for novice users. I next developed tutorials including source code and WebGL builds for 40 mechanics, from simple 2D mechanics, such as moving around in a 2D space, to more advanced mechanics, such as a grappling hook in a 2D space and moving and looking around in a 3D space as seen in first-person games.

Each Unity mechanic tutorial is contained in its own folder within a GitHub repository, and consists of four parts. The first part is a text explanation and description of the mechanic, which helps the developer understand the context and purpose behind the mechanic. The second part is a step-by-step text explanation of how to implement the mechanic. The third part is the source code, which helps the developer understand how the mechanic is implemented. The source code also allows the developer to open the mechanic in the Unity editor to modify and experiment with the mechanic as needed. The fourth part is a WebGL build that developers can use to experiment with and see the mechanic in action after being fully implemented and built.

This project will serve as a resource for the Game Development course and the larger game development community, helping users to build a solid foundation in Unity and allowing them to delve deeper into the world of Unity game development.