CISC 226: Game Design


School of Computing • Queen's University • Winter 2022

Development

In this course, we will be using the Unity game engine for game development and Github Classroom as a code repository.

Unity Game Engine

In this course, we will use Unity version 2020.3 (LTS). This is the latest "long-term support" version of Unity. You can download Unity Student or Unity Personal for your own use on your own computer. (Unity Student is free and gives you more features, but you have to complete a simple application. You can get Unity Personal right away.) Be sure to check the "WebGL Build Support" option when installing Unity.

Please download Unity Hub to manage your Unity projects and installations. Unity Hub is particularly useful if you are using a different version of Unity on other projects.

There are many excellent online Unity resources.

As a Queen's student, you have free access to LinkedIn Learning, which has many specialized tutorials on Unity. Click the "Sign In" button and enter your Queen's email address. After signing in, search for "unity".

IDE

The default IDE for use with Unity is Visual Studio, and you can select this when you install Unity. Many people prefer the Rider IDE, which has excellent Unity integration and is free for students.

SourceTree

You will require a GIT client to run on your computer, so that you can pull code from the GitHub repository, and push your commits back to the repository. For this course, I recommend SourceTree. SourceTree is a little fussy to set up - you will need to create an Atlassian account (if you don't already have one.) When going through the setup process, specify that you will be using GitHub (not BitBucket) so you can access your group project.

In order to get started with GIT and SourceTree, I recommend the following resources:

  • See my video on how to configure SourceTree to connect to your GitHub repository (Windows version; Mac version)
  • Then work through this tutorial from LinkedIn Learning. (You can log in free using your Queen's netid.) Note this is not a Unity-specific tutorial, but the same techniques apply.
  • Finally, configure SourceTree to use the UnityYAMLMerge helper tool for dealing with merge conflicts in Unity scenes (Windows Version, Mac Version)

Note: I used to recommend GitHub Desktop, and you can use this tool if you prefer. It is considerably easier to set up. But it has poorer support for group work as it does not visually show the project's various branches. I think it's worth taking the extra few minutes to set up SourceTree.

© 2022 Nicholas Graham