Game Development


Complete C# Unity Game Developer 3D

Design & Develop Video Games. Learn C# in Unity Engine. Code Your first 3D Unity games for web, Mac & PC.

4.65 (24708 reviews)



34 hours


Sep 2020

Last Update
Regular Price

What you will learn

Learn C# from scratch. A powerful modern language.

Get experience using Unity 2017 - a very versatile 3D tool.

Gain an excellent general knowledge of video game design.

Make 2.5D and 3D games in Unity.

Transfer your knowledge to .NET, other languages, and more.

Learn how object oriented programming works in practice.

Develop a positive attitude to problem solving.

Practical exercises EVERY VIDEO to build actual skills.

Learn good coding and design patterns.

Learn to use source control, a valuable tool for working in small teams.


The projects in the course use a mix of Unity 2017, 2018 and 2019. All sections are 100% compatible with the newer Unity 2019 and 2020 software updates.

This is the long-awaited sequel to the Complete Unity Developer - one of the most popular e-learning courses on the internet! Completely re-worked from scratch with brand-new projects and our latest teaching techniques. You will benefit from the fact we have already taught over 350,000 students programming and game development, many shipping commercial games as a result.

Unity is an incredible 3D package used for making video games, architectural and medical imaging and more. The challenge is that it's big and complicated to use, especially for complete beginners to coding and game development. We make learning to code easy and fun by leading you step-by-step through the process of creating exciting games.

Get plugged into our communities of amazing developers on Facebook (nearly 20k), in our own TA-curated Community (17k views/day), and our student chat group (10k live at any one time).

This course has full professional-produced English closed-captions.

If you're reading this you probably already have everything you need to get started. Unity is a free download. With regular access to an internet connection you'll be able to engage in our thriving community. Even if you have no experience with coding, or with 3D packages, we will guide you through everything from first principles. Starting slow, then building on what you learn, you'll soon have a very solid working knowledge of Unity.

Don't take our word for it, please see the amazing reviews students have taken the time to write. We are proud to be transforming lives, and equipping 1000s of people with valuable new skills. We would love you to become one of them now.

The course is project-based, so you will not just be learning dry programming concepts, but applying them immediately to real indie games as you go. All the project files will be included, as well as additional references and resources - you'll never get stuck. There are "talking heads", powerful diagrams, quality screencasts and more.

For each demo game you build you will follow this process...

  • Be challenged to build the entire game yourself.

  • Be shown step-by step how to build it.

  • Be challenged to apply, and re-apply your knowledge regularly.

Prefer to focus on 2D? Check-out our Complete Unity Developer 2D course. Want something a little more advanced? Check-out our epic Unity RPG course. Want to get certified, get a job, or learn environment art - we've got you covered. The green leaf logo is your sign of quality.

You will get full lifetime access for a single one-off fee. The creators are qualified and experienced coders and avid gamers, so are able to explain complex concepts clearly, as well as entertain along the way.

What this course DOESN'T cover...

Here are some things we will not be covering in detail...

  • Art asset creation (assets provided but not made on-screen).

  • Advanced performance optimization.

  • Editor plugins or modifications.

  • Physics engine modification.

Anyone who wants to learn to create games: Unity 3D is a fantastic platform which enables you to make production-quality games. Furthermore these games can be created for Windows, MacOS, iOS (even iOS 9), Android and Web from a single source!

Dive in now, you won't be disappointed!


Complete C# Unity Game Developer 3D
Complete C# Unity Game Developer 3D
Complete C# Unity Game Developer 3D
Complete C# Unity Game Developer 3D


First Steps - Getting Setup

Why You Should Buy This Course

Get Unity & Visual Studio Downloading

How To Use This Course

Introducing Unity

The Wonder Of Prefabs

Introducing Visual Studio

Fixing Visual Studio Problems

Check Your Understanding 1.1

Instructor Hangout 1.1

Section 1 Conclusion

Terminal Hacker - Basic C#

Welcome To Section 2

Terminal Hacker Game Design

Import WM2000 Terminal Asset

Using Our Terminal.WriteLine()

Your First Function

Introducing Variables

Functions With Variable Parameters

Messages Are Special Functions

C# Operators & Expressions

Conditional Program Flow Using if

Check Your Understanding 2.1

Instructor Hangout 2.1

We’re About To Pick-Up Pace

Member Variables To Hold State

Enumerating Our Game States

Refactoring Our Code

Your First Solo

Arrays Of Variables

switch vs if

Introducing Random Behaviour

Creating A Win Screen

Section 2 Integration Challenge

Instructor Hangout 2.2

Check Your Understanding 2.2

Share Online & Play Test

Feedback & Bug Fixes

Section 2 Wrap-Up

Project Boost - Basic Unity

Welcome To Section 3

Project Boost Game Design

Onion Design

SourceTree Differences on Mac

Introducing Version Control

Add Unity .gitignore Easily

The Origin Of Our World

Placeholder Art From Primitives

Basic Input Binding

Physics and Rigidbodies

Coordinate System Handedness

Using Time.deltaTime

Check Your Understanding 3.1

Instructor Hangout 3.1

Adding A Touch Of Audio

Resolving Movement Bugs

Using SerializeField vs public

Tagging Game Objects As Friendly

Basic Level Design

Design Levers And Tuning

Making A Second Level

Prefabs In Detail

Level Loading & Scene Management

Invoke() As A Coroutine Warm-up

Check Your Understanding 3.2

Instructor Hangout 3.2

Playing Multiple Audio Clips

Introducing Particle Effects

Moving Platform Pattern

Mathf.Sin() For Movement Cycles

Protecting Against NaN

Organise Your Assets

Light Your Scene

Nested Prefab Joy

Make Game Moments

Debug Keys & Builds

Check Your Understanding 3.3

Instructor Hangout 3.3

Looping Through Levels

Sharing With Teaser Video

Spit & Polish

Section 3 Wrap-Up

Argon Assault - Rails Shooter

Welcome To Section 4

Argon Assault Game Design

Update Unity & Create Project

Create Terrain

Terrain & Later Unity Versions

Texture The Terrain

Add A Skybox

Add Player Ship

Setup A Splash Screen

Playing Music Between Scenes

Unity’s Waypoint Utility Scripts

Check Your Understanding 4.1

Instructor Hangout 4.1

Using Cross Platform Input

Input Sensitivity & Gravity

Mathf.Clamp() To Restrict Movement

Understanding Roll, Pitch & Yaw

How To Set Local Rotation

Rotate Ship With Position & Throw

Time To Tweak And Tune

Create Bullet Particles

Explosion Particles & SFX

Dodge And Shoot

Check Your Understanding 4.2

Instructor Hangout 4.2

Project Tidying Checklist

Triggers & Collisions In Unity

SendMessage() Between Components

Enable A Gameobject From C#

Singleton Pattern Without Statics

Detecting Particle Collisions

Making Scripts Add Components

Instantiating At Runtime

Add Simple Score UI

A ScoreBoard Class

Check Your Understanding 4.3

Instructor Hangout 4.3

Introducing Encapsulation

Back-pedalling With Version Control

Iterating With foreach

Enemy Health System

Level Design Beat Chart

Level Design Iteration

Introduction To Unity Timeline

Unity Timeline For Player Path

Unity Timeline Enemy Waves

Adding Flavour With Timeline

Stop Particle Emission In C#

Visual Polish

Check Your Understanding 4.4

Section 4 Wrap-Up

Realm Rush - Tower Defence

Welcome To Section 5

Realm Rush Game Design

Limitations Of Unity Pathfinding

Z-Fighting And Quads

[ExecuteInEditMode] Attribute

Using Text Mesh For Labels

C-Sharp Lists For Custom Path

Introducing Coroutines

Types Of Pathfinding

The Path Ahead

Instance Variables And Constants

The Dictionary Data Structure

Check Your Understanding 5.1

Finding Game Objects By Name

Explore Thy Neighbour

Breadth First Search Algorithm

Introducing C# Queues

Running Manual Tests

A Breadcrumb Trail

Reversing A List

Adding Production Assets

Tower LookAt Enemy

MagicaVoxel Bonus Content

Check Your Understanding 5.2

Another Solo Challenge

Make Tower Shoot

Enemy HitPoints

Check For Distance

Subtleties Of Spawning

Revise Coroutines & Much More

Target Closest Enemy

Detecting Mouse In 3D

Conditional Instantiation

Check Your Understanding 5.3

Bloom’s Taxonomy

Particles & Algorithm Improvements

Circular Or Ring Buffers

Implementing A Ring Buffer

Revising C# Queues

How To Destroy Particles

Complete Game Loop

Health For Base

Display Health & Score

Unity Post Processing Stack

Hook Up SFX

PlayClipAtPoint() For SFX

Tune Your Game Moment

Check Your Understanding 5.4

Section 5 Wrap Up

Zombie Runner - First Person Shooter

Welcome To Zombie Runner

Zombie Runner Game Design

Adding First Person Controller

Make A Prototyping Sandbox

Using NavMeshAgent For AI

Getting Stuck & Jittering

Enemy AI - Chase Range

Quiz - Zombie Runner #1

Using OnDrawGizmosSelected()

Enemy AI - Attack If Provoked

Give That Player A Gun

Introduction To Raycasting

Enemy Health & Damage

Implement A Muzzle Flash

Creating Shooting Hit Effect

Introduction To Animator Controller

Creating A Simple Animation

Animator Transition Conditions

Quiz - Zombie Runner #2

Trigger Animation In Code

Use Animation Events

Create Player Health Class

Rotate To Face Target

Game Over User Interface

Create A Death Handler

Using BroadcastMessage

Early Gameplay Loop

Weapon System Overview

Weapon Zoom - Field Of View

Quiz - Zombie Runner #3

Weapon Zoom - Mouse Sensitivity

Basic Ammo Functionality

Multiple Weapon Types

Weapon Differentiation

Set Active Weapon

Player Input To Select Weapon

Public Enum & Private Class

Different Weapon Different Ammo

Quick Bug Fix Challenge

Ammo Pickup - Part 1

Ammo Pickup - Part 2

Quiz - Zombie Runner #4

Let's Add A Zombie

Quick Zombie Attack Challenge

Flex Your Level Design Muscles

Add Terrain & Trees

ProBuilder For Making Props

ProBuilder To Make Rooms

ProBuilder To Make Levels

Adding Textures With ProBuilder

We Need Some Lights

Create A FlashLight

Create A Battery Pickup

Quiz - Zombie Runner #5

Display Current Ammo UI

Damage Received UI

Props & Polish

Bonus Section

BONUS LECTURE: Our Other Courses


Matt7 October 2020

This course was a good introduction into Unity and C#. I went in with a very very minimal experience in C# and left feeling confident in the concepts covered in this course. I also feel confident looking into the Unity Scripting manuals, scripting questions on stackoverflow and other forums, and understanding the problems and peoples proposed solutions. The instructors, Ben and Rick, did a very good job of breaking unity and C# into digestible pieces and implementing the spiral syllabus! Big thank you to you two!

Mick3 October 2020

I am on Unity 2020 and so far everything worked out pretty well. Still I dont like the course much: The instructor talks like I am a kid, still I think for kids this course might be SO boring. Further I have a lot of basic knowledge of programming which makes this course super boring and slow for me. For total beginners a lot of the programming concepts are not explained pretty well from my perspective. A lot of level creation could have been done outside of the video and just cut to. To top everything these are the most unaesthetic designs ever. Why not use a prefab for the rocket so it does not look like shit? And what a disappointment at how the zombie game looks and feels. I understand this course is about learning the fundamentals, but at least I have a certain amount of aesthetic standard no matter what I do, even if it is just a prototype. Just by having it look better, feel a little bit better, have it more fine tuned (and all this could be done outside of the video) would make it feel so much better. To get through this course one need a lot of patience. The crucial learnings could be broken down to 1/10 or even 1/100 of the time of the course.

Sahreb2 October 2020

I had literally 0 experience with unity and game development before this course and after being halfway through I believe I got the fundamentals down and can even make my own basic game without any assistance.

Steven1 October 2020

My first review was wrong. I didn't mean to make it less than 5 stars one of the better courses for Unity I have ran into.

Matheus1 October 2020

I am really enjoying the course so far since the teachers influence us to work on everything at Unity, and besides, having more than one teacher is very good

Dwayne25 February 2020

Thus far, it's been enjoyable. The explanations are precise and in laymen's terms. Excited for the rest of the 235 lessons remaining.

Shantul24 February 2020

Really good course. A lot of extra info is presented as a "one off" that helps you understand why things are happening. Best thing about this class is that you learn by doing. Even learning the basics of C# are presented by creating the "Terminal Hacker" game. The one thing that needs improving is that the presenters often move very fast and jump around a lot making it hard to follow the code without constantly rewinding the video and pausing. Partly this is by design but I wish they stopped to a few seconds after changing the code to give us time to pause the video. Even with the issue with the presentation, you still learn a lot with this course and it is well worth getting.

Dennis22 February 2020

This is the second time for me...took it about four years ago and decided to revisit it. Nice to see the updates and new projects.

Tim21 February 2020

I haven't touched C# for a while, so it's a good refresher going through these slow parts, but gee they are slow! But I'm persisting anyway just in case I pickup something I don't know or remember (I'm very aware there are people with less knowledge doing this course too)

Daniela21 February 2020

It is rather confusing to follow all these different resources. I just run a 12min-Video. It took me 2 h to finish it because I always needed to go back: What did he do where? Why is there no key (arrow) for going back 5 s. Using the mouse is really insufficient.

Will20 February 2020

Wonderful instructors, this visual learning environment is perfect for me and i'm looking forward to learning more!

Mattias20 February 2020

Went through the 2D course and it was great. Not quite finished yet but wanted to complement by running this beginner course side by side. I got a great feeling about this, being 30 years old and still able to learn something feels good!

Karolis19 February 2020

if you going to study this at night even with zero brightness your eyes gonna burn cuz of white visual studio theme, still dont get it why use white? i figure it out just press "win key" and "+", then "alt" + "ctrl" + "i" its for magnifier and inverting colors on windows 10

Adan19 February 2020

I like the abundance of community options. I'm really comfortable with Discord so it makes me happy to see that there.

Szilvia18 February 2020

So far, (I'm only on the 5th lecture) the course is absolutely brilliant. I have previously tried learning about game development by myself, but even the most basic videos found elsewhere were too complicated for me. So far, everything is crystal clear and explained really well.


Udemy ID


Course created date


Course Indexed date
Course Submitted by

Android PlayStore
Apple Appstore