Game Making Tool Research: Unity

Chan Myae Khin
5 min readFeb 5, 2021

Unity has always been an excellent engine to make 2D,3D games and a good game engine for beginners. The multiplayer and analytics features are readily available within Unity and can be integrated with your project at any time. A portion of the assets, including code snippets, completed projects, audio, music and editor extensions, can be obtained from the engine market.

I was interested in working with Unity due to their workflows and how easier it is for a digital designer to switch from Adobe Premiere Pro to Unity as they have a similar interface. I have no prior experience in using this game engine or coding, so this is my first time trying out Unity. The installation itself took a lot of time than expected. I decided to follow a 3D game tutorial provided by Unity called Roll-a-Ball.

The tutorials are easy to follow (at first); however, as a first-time user, I was not familiar with the interface yet, so there were many trials and errors. The frustrating part comes when it comes to package manager and build settings. Personally, for mac users, I had a hard time locating the architecture inside the build setting. I believe for window users, this could be a more straightforward process to follow. I needed additional help from Youtube tutorials for this. It was easy to follow until I reached to create a new C# script. For my game character to move, I needed to understand unity physics. I tried multiple tries writing the script and using different extensions, but I could not move the ball, although there was no coding error.

It is a complex process, and I could not find a solution to this. I went on Youtube to find the answer, but others were in the same situation as me where they are stuck in this part of designing the game and could not move the ball. Some steps were not mentioned in the tutorial, and I had to match my screen with the tutorial screen to be on the same page or read a youtube comment to solve it. It was frustrating, and I expected Unity tutorials to be more transparent for a beginner like me.

So I decided to follow this Youtube tutorial about Bird Game (Links to an external site.), a 2D game.

This tutorial is a lot easier to follow, and there is a comment section full of technical support. This YouTuber has its art pack, which was easy to install. By following his tutorial on installing, setting up the background and characters, I was able to get the hang of Unity. My prior experience from the Unity build-in tutorial helped me understand Console, Hierarchy, Scene, Inspector and its functions. The game also has similar design components like Angry Birds, so it felt familiar.

Unity Physics

To make the bird character move with physics, I have to add a physics component. For that, I have to add Rigidbody 2D in the physics 2D component. It is an interesting process to see and understand how gaming characters implementing and using physics in the real world way. It was great to experiment with the gravity scale and control the fall in the direction of gravity.

Animation

The tutorial also included adding animation to the bird to be more realistic. To do that, I used the animator component, which allows the bird to flap its wings as if it is flying. This input was refreshing as some old 2D games don’t include animation on their characters and this part of the tutorial taught me what went on behind the scenes in game designing that makes the game characters engaging.

Writing C# Code with Visual Studio

His explanation of the C# script was easy to follow. He explained how the scripts work for the bird to move in command and change the bird’s colour when it clicks on it. However, just like the in-built unity tutorial and the YouTuber missed a step to mention in his tutorial to connect the script with the bird to change different colours, I could catch and make the adjustments to get the desired outcome. I was happy that I could make the connections, and from previous experience, I was able to move forward with my tutorial. The tricky part is always attaching the script as a component to the character(bird) and making sure the input action is correct. I also had a hard time with the script as I was using Visual Studio Code instead of Visual Studio 2019 for the external script editor. When using VSC, some codes were not recognized. When I switched back to VS, the script worked, and I was able to write code to handle input and make the bird fly and change colours when it interacts with the mouse click. I noticed that scripting within Unity is relatively simple to learn.

Here is a part of the result -

https://vimeo.com/user99570179/review/509007813/54ec87941c

From this experience, this is my reflection on Unity -

Pros:

  • Unity tutorials can be simple and easy to follow for people who are not experienced in 3D and game development platforms.
  • Access to resources and materials online with multilingual texts and video forums make it a great experience.
  • Free for students and personal
  • The visual quality and graphic support with very fast iteration
  • The assets store is also reportedly better compared to other platforms.

Cons:

  • It took me solid 30 minutes just to set it up, installing a unity version and create a new project ( which I thought would be as easy to set it up as Adobe apps without watching a tutorial)
  • Complex interface
  • Developers need to have licenses for the best graphics, deployment and performance improvements. These licenses are costly.
  • It takes up too much space.
  • There are too many versions that could be overwhelming for a new user.

Between Unity’s built-in tutorials and community content, you can almost get your whole game development education from Unity, which gives beginners like me to explore game designing with no prior experience. Just alone with its graphically impressive rendering effects and premium features, I look forward to exploring Unity more and create my own games with it.

--

--

Chan Myae Khin

Chan aka Cindy is an MDES Inclusive Design student at OCAD and a Freelance Graphic Designer.