
Overview of the course projects you are able to create at the end of each class.
In this course we will make 15 different games, step-by-step.
Introduction & background information of the course lecturer and introduction to existing Unity projects.
Step-by-step explanation how to download and install Unity.
For our class we will be using the latest version of Unity 2018 as we will be using UNet in class 13 and 14.
It is possible to use a later version of Unity for classes 1 to 12 & 15.
This is a compilation video of student's work who took this course as a summer course at ShanghaiTech University.
The students had no Unity experience before starting the course and were able to achieve amazing results!
Unity User Interface:
- Creating 3D Objects
- Move, Rotate, Scale
- Inspector Window & Scene Hierarchy
Lighting:
- Using lighting to create atmosphere (Omni light, Directional Light, ...)
C# basics:
- Variables, Functions & Code grouping
Creating & adding scripts to GameObjects
- Start, Update (+ Awake, FixedUpdate, ...)
Collisions & Triggers:
- Physics using Rigidbody & AddForce
Creating & adding scripts to GameObjects:
- OnTriggerEnter, OnTriggerExit
Character Controller:
- Using a CharacterController to control and move a character
Character Controller:
- Using a CharacterController to make a character jump
Prefabs:
- Creating assets for instancing and updating scene
Audio:
- Playing sounds / Music using AudioSource and AudioClips
Prefabs:
- Creating assets for instancing and updating scene
Implement a half-second cooldown and ammo counter: track cooldown with delta time, allow shooting only when cooldown is zero, spawn bullets, and start with 20 ammo shown in the UI.
UI:
- Creating UI in Unity using Canvas System
Enums:
- Creating various states for Player and Enemies
Attach a nav mesh agent to the enemy, set speed and destination to the player, update the destination in the update function, and stop the agent within 1.5 units.
Artificial Intelligence:
- Creating an Enemy with various states
Artificial Intelligence:
- 3D Mathematics for Player Detection
Master the animator-first workflow by recasting the animation timeline, adding events, and applying ray casting from the camera with baked navmesh, agents, and enemy patrols to manage damage.
Move the camera in a top-down Unity game by following the mouse at screen edges and center it on the player with space, enabling smooth follow when held.
Import 3d models into Unity by downloading assets, importing the model file and textures, creating materials, attaching the model to the player, and turning it into a prefab for animation.
Follow the player with a y-axis offset and a z-axis offset for smooth camera movement. Use late update to apply the camera target offsets, enabling forward/backward, up/down, and left/right movement.
Hold right mouse button to rotate camera around the player, using mouse X and Y, clamp vertical rotation to -30 to 30, and apply quaternion rotation to the offset.
Animation:
- Importing Animations
Animation:
- Using Animator to set up Animation Tree and Animation Blending
Animation:
- Using script to drive Animations
Implement enemy logics using a state machine to handle idle, standing up, and attack states, with a character controller driven forward movement and animator integration that activates on aggro.
Apply the singleton design pattern to create Unity game manager that coordinates saving and loading, serialize int, float, and string, convert Vector3 to three floats, and implement local save system.
Singletons:
- Creating a GameManager class to manage all objects and score in the game.
Saving GameData:
- Saving the Data of our game to Loadable format
Saving GameData:
- Saving the Data of our game to Loadable format
InputManager setup:
- Adding support for an Xbox Controller
Add a second player by duplicating the player and assigning materials, and implement per-player input with an enum id and keyboard and gamepad mappings for movement, jumping, and animation.
Particle Emitter:
- Creating VFX
NOTE:
If you are using Unity 2018.x or higher do not download the version from the video.
Instead open a new blank project and import the updated particle system from this link: https://assetstore.unity.com/packages/essentials/tutorial-projects/unity-particle-pack-127325
Thanks to: James LiSooey
Creating XML Reading support:
- Reading XML data and importing it to the game
Localisation:
- Adding support for multiple languages using XML
Creating an executable:
- Building the game for PC
Improve weapon logic with recast to stop the line render at impact and display impact marker. Update line render positions and toggle an impact pos sphere on hit, preparing shooting.
implement advanced animations by triggering shoot and reload via the animator, manage is_reloading state and reload behavior, and add crouching logic with is_crouching to control movement and animation.
Implement inverse kinematics in Unity to attach the left hand to the weapon using humanoid rigs, set position and rotation weights, and disable IK during reloading.
Implement advanced impact marking in Unity by placing a plane at the collision point with a slight offset and correct normal, then texture it and create a gunshot crack prefab.
In this Unity course we start from the very basics and cover all topics from complete beginner C#, Unity User Interface and will continue to explore advanced Unity features such as Animations, Animation Blending, Inverse Kinematics, Shaders, Post-Processing and even Multiplayer Networking (UNET) in the final classes.
This course contains 230 videos with over 19 hours of video learning content with an average video length of 5 minutes.
During this course you will learn how to create 15 different games of various game genres while learning the core features of Unity Game Development.
These game genres include:
Basic Platformer
Top Down Shooter
Top Down Shooter with AI
Basic MOBA
Third Person Platformer
Platformer with Loading & Saving
Local Multiplayer Arena
Main Menu, Localization & Game Loading
Third Person Shooter
Procedural World Generation using Unity Editor Extensions
Exploration Game with Advanced Visuals
First Person Shooter
Top Down Networked Multiplayer
First Person Shooter Networked Multiplayer
2D Action Game
During the creation of each game every step of the development process is shown and explained.
All scripts which are written an demonstrated are shared with the viewer in order to solve any potential bugs or issues.
This course has been taught at ShanghaiTech University to over 60 students and several graduate students have started their Game Development Careers as a result of this course.