Volume 2 picks up where the first guide leaves off, moving past Unity and C# basics into the harder skill of solving real game-development problems with simple, clear logic rather than complex algorithms.
What makes this one different
Every project is compared against multiple possible solutions, with an honest look at the trade-offs of each approach and when you'd actually reach for one over another. The goal isn't just more Unity features — it's training you to think like a programmer, since most day-to-day problems in a real project get solved with straightforward logic, not clever tricks.
Also covered
- Optimizing games from the very start of a project
- Avoiding the most common performance mistakes in Unity development
- Sections that gradually increase in size and depth as your skills grow
Some prior Unity and C# experience is expected; this is a follow-on course, not a first introduction to either.
Since this is an intermediate course we will not cover the basics of programming with C# and how to use Unity, instead, we will dive deeper into C# coding practices and learn how to solve complex problems with simple logic.
As we go through the projects I will show you multiple ways how to solve the problem at hand and I will compare different ways and talk about the pros and cons of each and why and when should you use one way over the other.
The main focus of this course is to help you think like a programmer and gain strong problem solving skills. Because in 99% of the times in any project you will solve problems by using simple logic instead of complex algorithms, and this is what this course is about.
And not only that, but I will explain to you how to optimize your games from the very start so that you avoid the most common optimization heavy mistakes that not only beginners make when they create their games.
Every section in this course will gradually increase in size and depth so that you always learn new things and face new challenges.
During the lectures, I will give you assignments to challenge your knowledge and to challenge your ability to think like a programmer. Because in game development, the best way to learn is by doing. Of course, I will provide a solution for every assignment that I give you, but I will expect that you try to finish it on your own because it will give you experience, and the feel of how to solve programming problems on your own and it will help you implement and retain everything that I am teaching you in the course.
Some of the things that you will learn in this course:
Intermediate, And Advanced C# Programming
Basic AI(Artificial Intelligence)
Advanced AI(Artificial Intelligence)
Basic And Advanced Character Animations
Sound FX And Music
Learn How To Use Unity's UI System
Create And Animate Menus
Saving And Loading Game Data
Basic And Advanced Animations
Creating Reusable Code
Writing Optimized Code
Generate Procedural Levels
Create Object Poolers For Enemies, Obstacles And Levels
You need to know or at least understand how all the concepts listed here work and function before you can enroll in this course:
- Understand what are variables, classes, functions, objects and know how to use them
- Understand what data encapsulation is and what does private and public mean
- Understand what arrays and lists are and how to use them
- Understand what loops and different types of loops are and how to use them
- Know your way around unity’s interface
- Understand how unity’s physics system works and how to use the rigid body
- Have a basic understanding of what are raycasts and how to use them
- Know how to manage unity’s sprite renderer component and its sorting layers
- Understand what is the transform component and how it works, also how to manipulate it with Vectors and Quaternions
- Understand how to animate and use animation transitions and how to use unity’s mechanim system
- Understand how to use unity’s UI system, what is a canvas and how to manipulate canvas scale options
- Understand how to use PlayerPreferences to save and load game data
- Understand what is pooling or at least know the basics of pooling
- Understand what singletons are and how to use them
- Understand what delegation is and how to use it