The Complete Unity 5 Guide: Unity Game Development Made Easy
3.8 (195 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
4,995 students enrolled
Wishlisted Wishlist

Please confirm that you want to add The Complete Unity 5 Guide: Unity Game Development Made Easy to your Wishlist.

Add to Wishlist

The Complete Unity 5 Guide: Unity Game Development Made Easy

Build Your Dream Unity Game; Learn Game Design, Game Development, C#, and Build Complete 2D & 3D Games with Unity Engine
3.8 (195 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
4,995 students enrolled
Created by Ahmed Swilam
Last updated 10/2016
Current price: $10 Original price: $95 Discount: 89% off
1 day left at this price!
30-Day Money-Back Guarantee
  • 17.5 hours on-demand video
  • 47 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Have a coupon?
What Will I Learn?
A lifetime access to a pragmatic and fun learning experience that will takes you from a complete beginner to becoming a game development expert.
The most up-to-date Unity course; all the course materials have been recorded using the latest Unity 5 Game Engine.
Learn how to think about your next game idea, how to design your game, and the elements that make a wonderful game.
Build 4 complete 2D, and 3D games from scratch.
Perfectly-crafted illustrated materials teaching you the required Math, Physics, and Graphics concepts to be a great game developer.
A modular structure that makes the course an excellent choice for both beginners and more advanced game developers. Are you already familiar with C#? Well, then skip the C# section, and go directly to the Game Development section.
New lectures and materials always added to the course.
Answers to all your questions in the course forums.
A 30-day money back guarantee; Your satisfaction, or your money back.
View Curriculum
  • Unity 5
  • A computer that's capable to run Unity 5

Are you looking for building your career as a game developer, or building a game studio that creates exceptional games? Do you want to build the next big game hit that will break the app store records? Do you want to entertain millions of people, and add fun to their lives?

If yes, then you have come to the right place.

This second-by-second crafted course is a complete Unity game development experience that will take you into a journey that starts by finding an idea of your game, prototyping your game, putting the structure and developing your game whether in 2D or in 3D, and then publishing it using the Unity game engine.

You will learn how to design your game, validate it, build it and see it live and working and play it with your own hands.

During the course, you will build a Candy Crush, Subway Surfers, 2D platformer in addition to 3D Balance Ball "like" games to practice what you are learning.

What do students say about this course?

5-Star Review: "Excellent content structure. Topics covered are explained in a way to really understand them. Up to date, and covers latest unity 5 features. I've never enjoyed the online learning course like this before. He catches all essential parts of game dev with well divided lectures. And overall lectures have good balance of the background knowledge and the real code. If you wanna learn unity game dev as quick as possible without missing any important points, this is the answer for you." by David Borg

5-Star Review: "This course covers unity fundamentals very well, helped me a lot to understand unity game development basics, and see many exercises. I am still going through the course, but until now everything seems great!" by John Evans


10 years ago, building games was a complex thing. In order to build a game, you had to get your hands dirty with physics, graphics, and math code. It was something only big companies can afford; companies that have millions of dollars to spend on creating their games.

But thanks to the Unity 3D Game Engine, now game development has become a breeze! Unlike the old age of game development, now an indie team of 2 or even 1 game developer can produce games and easily publish and market them.

Unity has become a part of the success of many popular games; Monument valley, threes, Odd world: New n tasty, bad piggies, and hundreds of other titles. The simplicity of the engine, in addition to the vast number of platforms it supports makes it a great choice to depend on.

Content and Overview

Throughout this hand-crafted course, you’ll learn all of the Unity game engine's capabilities and establish a strong understanding of the concepts behind game development.

You will understand how to design your games, how to program in C#, experiment each of Unity’s components, apply physics, add materials to your game objects, adjust lighting, cameras, play sounds, animations, and deploy your games on mobile devices. In short, you will be exposed to every single aspect that you will need to build fantastic games in Unity.

In your journey in this practical course, your learning experience will always be exercised with challenges. You will write complete programs, and build 4 complete 3D and 2D games from scratch that bridge the gap between theory and practice, and prepare you to be a great hands-on game developer after you graduate from the course.

This course assumes no previous experience. It takes you from the absolute beginner game development concepts, downloading and installing the Unity Game Engine, writing your very first C# program, and then goes into more detail to explore the entire Unity Game Engine's feature set.

Every single lesson in the course has been pre-directed and supplied with animated materials that help deliver complex concepts in the easiest way possible. Utilizing this, the course has been designed to teach you all the aspects and features that the Unity engine provides in an efficient way that saves your precious time. Why would you spend 50 hours to learn game development while you can do it in less than half of that time?

Built from the ground up with modularity in mind, this Unity course is perfectly suitable for both complete beginners and more advanced developers. Want to learn only 2D game development, not 3D ? Well, skip directly to the 2D game development section in the course.

Now, what are you waiting for? Join the course, and start building your dream game in Unity!

Who is the target audience?
  • Complete beginners with no coding experience that are willing to build great games.
  • More advanced game developers willing to enhance their skills.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 249 Lectures Collapse All 249 Lectures 17:31:01
Course Introduction
1 Lecture 04:41

Get answers to the most common questions about the course, like:

  • What does this course teach?
  • What will you be able to do after you finish this course?
  • Who is this course for?
  • What will you need before taking this course?
  • How long it takes to complete the course?
Preview 04:41
Design Your Game
9 Lectures 27:04

Learn why games are so important, and how they affect the behavior of players and the way they think when it comes to solving problems.

Preview 03:36

Learn what a game development team is composed of, and the necessary skills needed to build a great game.

Game Building Activities

Understand how game companies have evolved, thanks to new distribution channels like smartphones, and smarter development tools like the Unity game engine.

Game Building Models

Learn about the iterative game design process needed to build great games.

Game Design Process

Finding ideas for your game is easier than you might think. Learn about the two best ways to find ideas for your next hit.

How To Find Ideas For Your Next Game

Great games share a number of qualities, like being "fun to play" for example. Learn about the list of these qualities and make sure to apply them in your next game.

Preview 03:22

Every game creates its own world, every part of the game should be matching with the world rules.

In this lecture, you will understand what elements a game world is composed of.

The Game World

Prototyping is building a simple version of the game to play it. Learn ways to prototype your game ideas to be able to choose the best out of them.

How To Prototype Your Game

Summary of what you learned in the game design section.

Getting Started
12 Lectures 45:42

Learn how to download the proper Unity3D game engine for your platform, and install it on your machine.

Downloading And Installing Unity

Get a glimpse of the Unity interface, and learn how to create a new project.

Getting Familiar With Unity Interface - Creating A New Project

The inspector tab is where you adjust the settings of every object you have in the game. Learn how to use the inspector tab to get the best out of your game objects.

The Inspector Tab

Every Unity game object has a transform component. It controls the position, rotation, and scale information of the object.

The Transform Component

Colliders allow us to detect collisions between objects in the game world. Learn how to adjust collider settings, and how to fit them to your game objects.

The Collider Component

The scene tab is where you can edit your game world. Master the scene tab in order to learn how to navigate your game world, and edit your game objects.

The Scene Tab 1

More about the scene tab features.

The Scene Tab 2

The game tab is where you see your actual game and play it. Understand the difference between the game, and scene tab, how to play, and pause your game, and many more.

The Game Tab

The project tab holds all the assets files like 3d models, textures, sounds in addition to code files of your game. Realize how to navigate your game assets, and create/add new ones.

The Project Tab

Learn how to use the console tab to print "debugging" messages using code.

The Console Tab

Unity is a flexible solution; It gives you the ability to adjust it layout. Understand how to achieve this for maximum work productivity.

Layout Customizations

Summarizing what you have learned in the getting started section.

Getting Familiar With Unity Interface - Summary
Introduction To Our Programming Language - C#
50 Lectures 02:52:18

Learn the reason behind choosing C# as our development language over Javascript and Boo.

Preview 04:08

Get started to code with C#, and understand the basic language syntax.

Introduction To C#

Variables are memory spaces that we can use to store data. Learn how to create, and use variables in C#.

Variables - Introduction

C# supports many variable types. Learn the difference between them, and how to define each type in this lecture.

Variables - Types

Understand how to choose names for your variables.

Variables - Naming

Learn how to convert between different variable types in the language, and why would you need so.

Variables - Type Casting

Plus, minus, divide, multiply, and modulus. Those are the supported arithmetic operations in C#.

Variables - Arithmetic Operators

Learn the different ways you can assign values to your variables.

Variables - Assignment Operators

Get your hands dirty with code exercises about variables.

Variables - Exercises

Summarizing what you have learned about variables.

Variables - Summary

Conditional statements allow you to react to different situations in your program. Learn how to use the "if" statement to achieve this.

Conditional Statements - Making Comparisons Using IF Statements

Learn how to create infinite number of condition chains to handle different situations using "If, else-if, else" statements.

Conditional Statements - Chaining Conditions Using IF, Else-IF Statements

Switch is a cuter version of an "if, else-if, else" chain. Learn how to use it, and when to choose it over its competitor.

Conditional Statements - Switch

Using the "And", "Or", and "not" operators, learn how to create richer consitions.

Conditional Statements - Creating Richer Conditions Using Logical Operators

Get your hands dirty with exercises on conditional statements.

Conditional Statements - Exercises

Summarizing what you have learned in the conditional statements lecture.

Conditional Statements - Summary

Looping is a way to repeat the execution of a block of code a number of times. Learn about the 4 types of loops that C# supports, and the difference between them.

Loops - The Four Loop Types

More loops examples to learn about loops.

Loops - Examples

Learn how to "trace" or follow a loop execution to understand what it does, and to fix any issues inside the loop code.

Loops - Tracing A Loop

Loops can come inside other loops, and that's what's meant by "nesting". Learn how, and why you'd need to use nested loops in your programs.

Loops - Nested Loops

The "break" and "continue" keywords provide get out, or skip iterations in the loop. Learn how to use them in this lecture.

Loops - The Magic Of BREAK and CONTINUE Keywords

Get your hands dirty with code exercises on loops.

Loops - Exercises

Summarizing what you have learned in the loops lecture.

Loops - Summary

Functions are blocks of reusable code. Learn how to define functions, and how to call them in your programs.

Functions - Introduction

Overloading is defining multiple versions of the same function. Learn how to achieve it, and why it is important in this lecture.

Functions - Overloading

Learn how to return values to "caller" functions using function return types.

Functions - Return Types

Every function has a scope of variables that is available only in the function call, and is destroyed afterwards. Learn more about function scopes, and types of passing variables in this lecture.

Functions - Scopes & Passing By Reference

Get your hands dirty with code exercises on functions.
Functions - Exercises

Summarizing what you have learned about functions.

Functions - Summary

Arrays allow you to store bulk of data in the memory. Learn how to create an array in C#, and how to use it in this leacture.

Arrays & Lists - Introducing Arrays

Learn how to use loop in order to go through arrays.

Arrays & Lists - Looping Through Arrays

Understand how to create multidimensional arrays like tables, for better control and flexibility of data storage.

Arrays & Lists - Multidimensional Arrays

Jagged arrays are special types of multi dimensional arrays. Learn how they are different, and when to use them in this lecture.

Arrays & Lists - Jagged Arrays

A list is a flexible competitor to an array. Learn how to create them, and when to use them in this lecture.

Arrays & Lists - Introducing Lists

Learn the pros and cons of arrays and lists, and when to use each one of them.

Arrays & Lists - Arrays vs. Lists

Get your hands dirty with code exercises on arrays and lists.
Arrays & Lists - Exercises

Summarizing what you have learned in the arrays and lists lecture.

Arrays & Lists - Summary

Object-oriented programming is one of the best inventions in software engineering. It allows you to represent real-life objects into entities inside your programs, which makes it easier to solve bigger problems.

In this lecture, you will learn how to define classes, and create instances of them.

Object-Oriented Programming - Introduction

Understand what makes object-oriented programming better than traditional programming approaches.

Object-Oriented Programming - Why?

With the OOP comes new language keywords, like the "class", and "new" keywords. This lecture goes through the list of new keywords that you have to learn.

Object-Oriented Programming - The New Jargon

Null mean nothing. Learn how to assign "null" values to your objects, and the reason behind this.

Object-Oriented Programming - Null

An object can contain variables and methods inside of it. A constructor is a special type of a method that is called automatically when a new instance of the object is created.

Learn about the possible use cases for constructors, and how to create them for your class objects.

Object-Oriented Programming - Initializing Objects Using Constructors

Understand the difference between normal and static members, and the different use cases of each of them.

Object-Oriented Programming - Class Static Memebers

Realize the difference between properties and class fields and methods, and when to use them.

Object-Oriented Programming - Properties

Inheritance allows you to create relationships between objects. Both car, and ship are special types of vehicles. Realizing this in software programs helps you solve even more complex problems.

Object-Oriented Programming - Managing Relationships Using Inheritance

Learn how to use enumerations to write more maintainable and readable code.

Object-Oriented Programming - Enums

A namespace is a class container. Learn how to create namespaces, and use them in your programs in this lecture.

Object-Oriented Programming - Organize Your Classes In Namespaces

Get your hands dirty with code exercises on object-oriented programming.
Object-Oriented Programming - Exercises

Summarizing what you have learned about object-oriented programming.

Object-Oriented Programming - Summary

Debugging is the process of fixing bugs (or issues) in your program. Learn the available techniques to use when debugging your program.

Debugging Your Code
3D Game Development In Unity
105 Lectures 08:03:13

Learn about the available built-in 3D objects in Unity, and how to use them to create real games.

3D Game Objects - Introducing The Basic 3D Objects

Ragdolls allow you to build human-like characters. Understand how to build up a skeleton of whatever objects you have in your game.

3D Game Objects - Ragdolls

Terrains help you draw up your game world. Understand how to use them to create realistic game environments in this lecture.

3D Game Objects - Terrains 1

More about building and adjusting terrains.

3D Game Objects - Terrains 2

Unity provides a comprehensive tree builder tool. In this lecture, you will understand how to use it to create any tree type you can think of.

3D Game Objects - Trees 1

More on adjusting and crafting your trees using the tree builder.

3D Game Objects - Trees 2

A windzone is a force field that applies realistic wind in that particular area. In this lecture, you will learn how to adjust the winzone settings to match your game world.

3D Game Objects - Windzones

Learn how to write 3D text in your game world using the 3D text object.

3D Game Objects - 3D Text

Summarizing what you have learned in the 3D game objects lecture.

3D Game Objects - Summary

Learn to create a 3d balance ball game where you have to control a ball using keyboard to pass the game maze.

Building Our 1st Game - 3D Balance Ball - Creating The Maze 1

Understand how to use what've learned until now to build the game level.

Building Our 1st Game - 3D Balance Ball - Creating The Maze 2

Learn the game developer essential math and graphics concepts that are needed to understand what's happening behind the scenes.

Math & Graphics Concepts You Need To Understand 1

More math and graphics concepts that you need to understand.

Math & Graphics Concepts You Need To Understand 2

Applying physics in Unity is as easy as adding a component to an object. Learn how to achieve this, and experiment with the infinite possibilities that you can reach with physcis.

3D Physics - Rigidbodies

Colliders provide information about collisions between game objects. Learn how to adjust them and tailor them to your objects in this lecture.

3D Physics - Colliders

Understand how to simulate the different types of materials like rubber and ice using physics materials.

3D Physics - Physics Materials

Under physics, object are controlled by forces. To move an object in a certain direction, you have to apply a force with certain magnitude in that direction, and that's what you will learn in this lecture.

3D Physics - Adding Forces

Just like force, a torque is the ability to rotate an object in a certain direction. Learn how to achieve this using code in this lecture.

3D Physics - Adding Torque

Time to understand how Unity handle physics internally. Learn when to use each of the functions "Update" or "FixedUpdate" in this lecture.

3D Physics - Update() vs. FixedUpdate()

Raycasting is a flexible way to check for collision. Instead of colliders, you can use raycasting to cast an imaginary ray from a certain point and check if it hits any objects in its way. Learn how to do this, and when to apply this in this lecture.

Preview 06:53

Physics is optimal for moving object in the game, but when it comes to characters, there are other ways to use that better suit the nature of them. Learn how to use character controllers to control your game characters instead in this lecture.

3D Physics - Character Controllers

Learn how to capture keyboard input in the game.

3D Physics - Capturing Player Input

Joints create relationships between objects in the game. In this lecture, you will learn how to create fixed joints between different objects.

3D Physics - Fixed Joints

Learn how to create spring joints between different objects.

3D Physics - Spring Joints

Learn how to create hinge joints between different objects.

3D Physics - Hinge Joints

As an application of joints, learn how to build a complete hotel revolving door.

3D Physics - Building A Revolving Door

Summarizing what you have learned so far in the physics lecture.

3D Physics - Summary

Get your hands dirty, apply what you have learned in the physics lecture on the 3d balance ball game.

3D Balance Ball Game - Adding Physics & Moving Camera

Materials are the skin of objects; they provide the realistic look of them.

Learn the basic concepts you need to understand how to work with materials in Unity.

Materials & Shaders - Basic Graphics Concepts

Understand how to import textures to use with your materials.

Materials & Shaders - Importing Textures

Learn how to apply materials to your objects.
Materials & Shaders - Creating A Material

Understand the different rendering modes, and Albedo material setting.

Materials & Shaders - Rendering Modes & Albedo

Learn how to tweak the metallic, smoothness, and specular material properties, and the possibilities you can reach using them.

Materials & Shaders - Metallic, Smoothness, and Specular Shader

Learn about normal, height, occlusion maps and how you can use them to properly define your material outline.

Materials & Shaders - Normal, Height, and Occlusion Maps

Understand how to create self-emitting materials using the emission property.

Materials & Shaders - Emission

Learn how to add more detail to your objects using secondary maps, and detail masks.

Materials & Shaders - Secondary Maps & Detail Masks

Summarizing what you have learned in the materials and shaders lecture.

Materials & Shaders - Summary

Without lights, your player will see nothing in the game. In this lecture you will learn how apply directional light which lightens the whole game world.

Lighting - Directional Light 1

More about the directional light object, and how to adjust its settings.

Lighting - Directional Light 2

Understand other types of light that Unity provides; spot, point, and area lights.

Lighting - Spot, Point, and Area Lights

Too much lighting hinders game performance. Baking light provides a way to optimize performance by pre calculating light effects before game play. Learn more about this technique in this lecture.

Lighting - Baking Lights

Understand how to create realistic game environments using physically based shading technique.

Lighting - Baking & Physically-Based Shading

Lighting probes provide cheap live light processing. Understand what that means, and how they differ from baking light in this lecture.

Lighting - Light Probes

Realize how to create reflections, and mirror-like effects in your game using reflection probes.

Lighting - Reflections

The lighting tab provides many settings through which you can tailor the light settings to match your game scene.

Lighting - Lighting Tab 1

More about the lighting tab settings.

Lighting - Lighting Tab 2

Summarizing what you have learned in the lighting lecture.

Lighting - Summary

Get your hands dirty; exercise what you learned in the materials and the light lectures by applying them into our game, 3D balance ball.

3D Balance Ball Game - Adding Materials & Light Effects

Prefab, short for prefabricated object, provides a way to "template" a certain game object to instantiate clones of it in the game. Learn how to create prefabs, and how to create instances of them using code in this lecture.


Apply what you have learned to add prefab challenges to the 3D balance ball game.

3D Balance Ball Game - Adding Prefab Challenges

Particle systems allow us to create complex visual effects like smoke, fireworks, dust, and more. Learn more about them in this lecture.

Particle Systems - Introduction

Particle system come with many settings that allow you to control every single bit in this. This allows you to create whatever effect you might think about. Learn more about these settings in this lecture.

Particle Systems - Tuning Particle Settings 1

More on particle system settings.

Particle Systems - Tuning Particle Settings 2

Additional particle system settings and configurations.

Particle Systems - Tuning Particle Settings 3

Exercise what you have learnt; understand how to create a fire flame using particle systems.

Particle Systems - Simulating Fire Flames

One more particle system exercise; create a moving cloud effect.

Particle Systems - Simulating Moving Clouds

Summarizing what you learned about particle systems.

Particle Systems - Summary

Get your hand dirty; learn how to import external 3D models into Unity.

3D Balance Ball Game - Importing a 3D Candle Holder

Get your hand dirty; apply what you have learned so far in particle systems by adding a fire flame to the candle holder.

3D Balance Ball Game - Adding The Fire Flame

Game players see the game through the eyes of cameras. Learn more about cameras in this lecture.

Cameras - Introduction

Skyboxes define the outer game environment, like the sky for example. Learn how to use skybox components in combination with cameras to alter your game scene environment.

Cameras - Skyboxes

Cameras come with a set of settings allowing you to configure them to broadcast the right footage of your game to game players. Learn more about them here in this lecture.

Cameras - Camera Settings 1

More on camera settings.

Cameras - Camera Settings 2

Cameras come with smart techniques that saves performance during game play. One of these technique is occlusion culling.

Learn more about this special technique, and understand how to configure it for best results in this lecture.

Cameras - Occlusion Culling 1

More on occlusion culling.

Cameras - Occlusion Culling 2

High dynamic range is a one of the techniques that come with cameras. Learn the benefits of this technique, and how to enable it in this lecture.

Cameras - High Dynamic Range (HDR)

Exercise what you have learned about camera by creating a second map outline camera in our game.

Cameras - Creating A Map Outline Camera For Your Strategy Game

One more camera exercise; create a surveillance camera inside our game.

Cameras - Creating A Surveillance Camera

Summarizing what you have learned in the camera lecture.

Cameras - Summary

Get your hands dirty; apply what you understood in the camera lecture by creating a skybox to our game, 3D balance ball.

3D Balance Ball Game - Adding Skybox

Understand how to import sound clips into unity to play them in your game.

Playing Sounds - Importing Sound Clips

Learn how to play sound clips, and tweak audio settings in Unity.

Playing Sounds - Playing & Tweaking Audio 1

More on tweaking audio settings.

Playing Sounds - Playing & Tweaking Audio 2

Unity 5 has introduced audio workflows, which allows you to achieve complex sound routing and management easily. Learn how to use audio workflows to add more control on your sound playback in your games.

Playing Sounds - Audio Workflows

Understand how to group your sounds together in separate channels (groups) to properly organize them.

Playing Sounds - Audio Groups

Realize how to use audio snapshots to create different sound setups for normal, and underwater audio effects.

Playing Sounds - Using Snapshots To Create Underwater Effects

Learn how to send and receive audio signal between different audio groups.

Playing Sounds - Sending & Receiving Audio Signals

Understand how to organize your audio flows using audio views.

Playing Sounds - Audio Views

Learn how to create a grenade explosion ear-block effect using ducking.

Playing Sounds - Exploding A Grenade - Ducking Effects

Understand how to capture audio input using microphone.

Playing Sounds - Getting Audio Input Using Mic

Summarizing what you learned about Unity audio system.

Playing Sounds - Summary

Get your hands dirty; exercise what you have learned in the sounds lecture by adding sound playback to our game, 3D balance ball.

3D Balance Ball Game - Adding Sounds To Our Game

Unity provides a sophisticated animation system called "Mechanim Animations". It allows you to animate your game objects and characters to make them alive.

In this lecture, you will start your journey to learn this amazing system.

Mechanim Animations - Introduction

Learn about avatars, and how they make it easier for objects to share animations.

Mechanim Animations - Avatars

Learn how to optimize object bone structure.

Mechanim Animations - Optimizing Model Objects

Learn how to control your model's animations with the animation setting.

Mechanim Animations - Tweaking Model Animation Settings

Understand about events, motions, import message setting sections on animations.

Mechanim Animations - Events, Motions, and Import Message Settings

Learn how to Unity handles different animation states using state machine diagrams.

Mechanim Animations - State Machine 1

More on state machines and how to control animation flow.

Mechanim Animations - State Machine 2

Learn how to add more control to your animations using animation parameters.

Mechanim Animations - Animation Parameters

Understand animation layers, and how they help you create parallel sets of animations playing together.

Mechanim Animations - Layers

Build descriptive animation graphs that help you know where your animation stands, and create relationships between different animations.

Mechanim Animations - Animation Curves

Teach Teddy how to run. Run teddy run!

Mechanim Animations - Teddy Is Running

Understand how to use 1D blend trees to blend between different animations

Mechanim Animations - 1D Blend Trees

2D blend trees provide more animation blending control by adding 2 parameters to be used instead of one. Learn how to create 2D blend trees in this lecture.

Mechanim Animations - 2D Blend Trees

Teach teddy to run right, left, forward, and backward using 2D blend trees.

Mechanim Animations - Teddy Is Running In All Directions

Understand the difference between direct blend trees, and the other 1D, and 2D blend trees.

Mechanim Animations - Direct Blend Trees

Learn how to create custom handmade animations using the animation timeline.

Mechanim Animations - Creating Custom Animations For Objects 1

More on creating custom animations using the animation timeline.

Mechanim Animations - Creating Custom Animations For Objects 2

Learn how to define animation events that take place at certain time in the animation life.

Mechanim Animations - Adding Animation Events To Custom Animations

Learn how to use curves to finetune your animations.

Mechanim Animations - Animation Timeline Curves

Animations are not only for characters; understand how to use the mechanim animation system to animate any object you have in your game.

Mechanim Animations - Animating Any Other Object In The Scene

Understand how to use root motion curves to let the objects animate indifinitely in the game.

Mechanim Animations - Animating Objects Indefinitely Using Root Motion Curves

Learn how to use inverse kinematic calculations to create complex animations easily, like moving teddy's hand to touch something in the game.

Mechanim Animations - Using Inverse Kinematics To Create Complex Animations

Summarizing what you have learned in the mecanim animations lecture.

Preview 03:21
Building Our 2nd 3D Game - Skip The Train
12 Lectures 01:00:58

Get your hands more dirty by building another 3D game.

Skip the train is an interesting infinite runner game inspired by "Subway surfers" game. In this lecture you will get introduced to Jusin, our main game character.

Game Brief & Introducing Justin

Learn how to tweak our character Justin and prepare it for his job.

Tweaking Justin

Learn how to control Justin to jump, and move to the right and left by capturing keyboard input using code.

Controlling Justin In The Game

Learn how to adjust the game camera to follow Justin as he runs in the game.

Setting Up The Camera To Follow Justin

Understand how to import 3D models for trains and coasters to be used as challenges in the game.

Adding Trains & Coasters 1

More on setting up the trains and coasters in the game.

Adding Trains & Coasters 2

Additional settings and tweaking for the game challenges.

Adding Trains & Coasters 3

Learn smart ways to detect how Justin has died in the game, and consequently, restart the game.

Detecting Death

Learn how to add a wonderful colorful horizon effect along with adding sound effects to our game.

Adding Colorful Horizon & Sound Effects

Learn how capture touch swipes as we are preparing to deploy the game to a smartphone.

Detecting Touch Events

Understand how to deploy the game and play it on a touch mobile phone.

Deploying Our Game On A Mobile Phone

Summarizing what you have learned in this section.

2D Game Development In Unity
47 Lectures 03:15:16

Building 2D games in Unity is much easier that building 3D games. Sprites are the basic building block of any 2D game.

Learn how to import sprites to your game and how to adjust them in this lecture.

Sprites - Introduction

More on tweaking the settings of our sprites.

Sprites - Tweaking Sprite Settings

Learn how to sort your sprites using sorting layers, and understand more about sprite renderer component settings.

Sprites - Sprite Renderer Setting & Sorting Layers

Learn how to deal with multiple sprite sheets, and realize how to manage them using Unity's sprite editor.

Sprites - Multiple Sprite Sheets

Understand how to use Unity's mechanim animations system to animation 2D sprites in Unity.

Preview 02:06

Summarizing what you have learned in the sprites lecture.

Sprites - Summary

Get your hands dirty; start building our first 2D game, platform run.

Building Our 1st 2D Game - Platform Run - Introduction & Importing Sprites

Start building the game scene of our game, platform run.

Platform Run - Building Our Game Scene

Learn how to create parallax effects in the game to add a realistic cloud effects.

Platform Run - Creating Parallax Effects

In Unity, 2D physics is exactly like 3D physics, except that every component ends with "2D" added. However, Unity's 2d physics provide richer effects that we can use to create great 2D games.

In this lecture, you will get introduced to 2D physics.

2D Physics - Introduction

Learn about the 2D rigidbodies, and how they differ from their 3D counterparts.

2D Physics - 2D Rigidbodies

Just like 3D, 2D colliders help us capture collisions between objects in the game. In this lecture, you will understand how to add 2D colliders to your game objects.

2D Physics - 2D Colliders

Understand how to use the hinge joints to create 2D rolling door effects.

2D Physics - Creating Rolling Doors Using Hinge Joint 2D

Learn how to create train railway effect using the slider joint 2D.

2D Physics - Creating Railway Effect Using Slider Joint 2D

Learn how to create pendulum effects using the distance joint 2D.

2D Physics - Creating A Pendulum Using Distance Joint 2D

Understand how to create yoyo effects using the spring joint 2D.

2D Physics - Creating Yoyo Effect Using Spring Joint 2D

Build 2D cars using the wheel joint 2D.

2D Physics - Creating Cars Using Wheel Joint 2D

Effectors provide ways to affect certain regions in our 2D game world. Unity provides many types of effectors.

In this lecture you will understand how to build platformer games like "Icy tower" using the platform effector 2D.

2D Physics - Effectors - Creating Platformer Games Using Platform Effector 2D

Learn how to create floating water effect using area effector 2D.

2D Physics - Effectors - Creating Water Floating Effect Using Area Effector 2D

Understand how to create magnets and magnetic fields using point effector 2D.
2D Physics - Effectors - Creating Magnetic Fields Using Point Effector 2D

Learn how to create an escalator effect using the surface effector 2D.

2D Physics - Effectors - Creating Escalators Using Surface Effector 2D

Summarizing what you learned in the 2D physics lecture.

2D Physics - Summary

Get your hands dirty; understand how to move our character in our 2D game, platform run.

Platform Run Game - Moving Our Main Game Character

Get your hands dirty; learn how to setup the camera to follow our game character.

Platform Run Game - Setting Up The Camera To Follow Our Character

Get your hands dirty; exercise what you have learned in the 2D physics lecture by creating colliders to allow our game character to collect coins.

Platform Run Game - Collecting Coins

Get your hands dirty; add sound effects to our game, platform run.

Platform Run Game - Adding Sound Effects

Unity provides a rich interface system called Unity UI framework. This system provides the based input components like input fields, image components, radio boxes, sliders, scrollbars, and many more.

In this lecture you will get introduced to the UI basic concepts.

Unity UI - Introduction

Adding the monkey image UI component that will use throughout the UI lecture.

Unity UI - Adding Our Monkey

Understand the sophisticated concept that build up the resolution-agnostic features of the Unity UI system; anchoring.

Unity UI - Creating Resolution-Agnostic Layouts Using Anchors

Learn how to use image components to show images in your game.

Unity UI - Images

Learn how to write text to your game scenes using UI text components.

Unity UI - Adding Text

Learn how to use Unity panels to organize objects and masks.

Unity UI - Panels & Masks

Understand the effects that you can use for Unity UI components.

Unity UI - Effects

Learn how to use Unity UI buttons.

Unity UI - Buttons 1

More on Unity UI buttons.

Unity UI - Buttons 2

Understand how to use Unity UI toggles.

Unity UI - Toggles

Learn how to use sliders UI components.

Unity UI - Sliders

Learn how to use input fields to get input from player.

Unity UI - Input Fields

Understand how to use scrollbars to create scrollable areas.

Unity UI - Scrollbars 1

More on using scrollbars.

Unity UI - Scrollbars 2

Learn how to use canvas scaler to better control you game resolution flexibility.

Unity UI - More Control Over Resolution Using Canvas Scaler

Learn to better control your UI component layouts using horizontal layout group.

Unity UI - Arranging Objects Using Horizontal Layout Groups

Understand how to better control your UI component layouts using vertical layout group.
Unity UI - Vertical Layout Groups

Use grid layout group for more flexibility when it comes to showing your UI components.

Unity UI - Grid Layout Group

Summarizing what you have learned in the Unity UI lecture.

Unity UI - Summary

Get your hands dirty; exercise what you have learned in the UI lecture by adding a pause / resume button to our game, platform run.

Platform Run Game - Adding Pause/Resume Button

Get your hands more dirty, understand how to add a scoreboard to our game, platform run.

Platform Run Game - Adding A Score Board
Building Our 2nd 2D Game - Color Crush
7 Lectures 37:30

Color crush is inspired by the famous "match 3 or more" game "Candy Crush". In this lecture we will start by building the main block that will be used in the game.

Building The Main Block 1

More on building the main game block.

Building The Main Block 2

Learn how to randomly form the game grid using code.

Building The Game Grid

Understand how to form the crush algorithm using code.

Creating The Crush

Capturing the mouse drag to allow the player to play the game.

Capturing Mouse Drag

Connecting all the parts of the game together.

Connecting The Dots

Summarizing what you have learned so far in this section.

Bonus Resources
6 Lectures 20:19

The Unity profiler helps you to optimize the performance of your game. In this lecture, you will learn how to use the CPU profiler to monitor CPU usage.

The Unity Profiler - CPU Profiler

Learn about the other available profilers that will help you optimize your game performance.

The Unity Profiler - More Profilers For An Optimized Game

Understand how to store data to hard disk.

Saving Data To Disk - Storing

Learn how to read data from hard disk.

Saving Data To Disk - Retrieving

Learn the best practices for working in a big game development team.

Working In A Team
2 pages

A list of best websites to get free and premium content for your game, like graphics, 3D models, sounds, and many more.

Finding Resources For Your Game On The Internet
2 pages
About the Instructor
Ahmed Swilam
3.8 Average rating
195 Reviews
4,995 Students
1 Course
Unity Game Developer

Holding a Bachelors of Computer Science, I have spent the last 9 years as a passionate software engineer and an entrepreneur.

In the early days of my career, I developed a passion towards games. Since then, I started to teach myself how to build games, then I have established a game development department in the company that I founded in 2011 where we built a bunch of educational and fun games.

Games can change the lives of people; through games you can learn new things easily, enhance your way of thinking, cooperate with your friends, and most importantly, you can feel good; games add fun to our “sometimes” boring lives.

I believe that building more meaningful and engaging games means more chances for better human beings.

These passions have ignited me to start teaching people how to build their dream games in order to change the world.