Unity: Core Game Design Concepts

The Github repository containing these examples and others can be found here.

Beginning Essentials

In this section we will cover how to complete day to day standalone tasks in Unity. The first two lessons here moving a player have been superseded by the Player Movement (New Input System) section. This is because the new input system allows for easier local multiplayer and controller and keyboard configurations.


Using Visual Studio Code Moving a player (GameObject) with the Default inputs Moving a player (GameObject) with WASD Changing the colour of GameObjects Adding Multiple Scenes to a build Creating a Menu Picking Up Items – Storing Values in a List/Array Moving a shape automatically around a predefined path Package Manager – Missing 2D or 3D GameObjects or other packages / tools

Quick Referencing Guide

In this section you will find quick guides for referencing how to complete specific tasks and their shortcut keys.


Animation Shortcuts Default Keyboard Shortcuts

Customising the Unity Editor

Collaboration and Version Control

3D – Level and Environment Creation

Player Controls (New Input System)

Player Movement – 2D

Enemies: Movement and Damage Dealing

Complex Interactions with Objects

Local Multiplayer (New Input System)

Here you will find information about how to create local multiplayer games using the new Input System.This assumes that you have already created player movement using the input system and are using the Input System package.


Local Multiplayer using Player Input Manager and identifying the players (Complex and thorough) Local Multiplayer / Couch Co-op Handling players joining through scripts Identifying the players on joining the game Displaying player ID on the UI/HUD Displaying Enemy ID above the player

Audio and Accessibility

This module covers how to include different types of audio and sound effects for a game.


Add music for a level Play audio clip when a trigger is entered Play audio with a subtitle

HCI (UI User Interface / UX User eXperience)


Environmental Elements




Compiling and Build Your Game

This section covers how to create a final release or development build of your game.These are essential steps as you can test your program to see how it will behave when it is released.


Building / Exporting a Finished Project Changing the Build Platform

Persistent Data – Saving and Loading Data

In this section there are examples of how to save and load data when running a program multiple times. This means that you will be able to save settings and game states to come back to later.


Using PlayerPrefs to save simple data Using JSON to read and write complex objects such player Position and player Colours

Specific Game Mechanics