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
4.3 (181 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,938 students enrolled
Sale Ends Today!
84% off
Take This Course
  • Lectures 249
  • Length 17.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 11/2015 English

Course Description

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!

What are the requirements?

  • Unity 5
  • A computer that's capable to run Unity 5

What am I going to get from this course?

  • 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.

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.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Course Introduction

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?
Section 2: Design Your Game

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.


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


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


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


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


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.


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.


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.


Summary of what you learned in the game design section.

Section 3: Getting Started

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


Get a glimpse of the Unity interface, and learn how to create 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.


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


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 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.


More about the scene tab features.


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 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.


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


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


Summarizing what you have learned in the getting started section.

Section 4: Introduction To Our Programming Language - C#

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


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


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


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


Understand how to choose names for your variables.


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


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


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


Get your hands dirty with code exercises about variables.


Summarizing what you have learned about variables.


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


Learn how to create infinite number of condition chains to handle different situations using "If, else-if, else" 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.


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


Get your hands dirty with exercises on conditional statements.


Summarizing what you have learned in the conditional statements lecture.


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.


More loops examples to learn about loops.


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


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.


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


Get your hands dirty with code exercises on loops.


Summarizing what you have learned in the loops lecture.


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


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


Learn how to return values to "caller" functions using function 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.

Get your hands dirty with code exercises on functions.

Summarizing what you have learned about functions.


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.


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


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


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


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


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

Get your hands dirty with code exercises on arrays and lists.

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


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.


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


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.


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


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.


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


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


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.


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


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

Get your hands dirty with code exercises on object-oriented programming.

Summarizing what you have learned about object-oriented programming.


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

Section 5: 3D Game Development In Unity

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


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


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


More about building and adjusting terrains.


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.


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


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.


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


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


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


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


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


More math and graphics concepts that you need to understand.


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.


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


Understand how to simulate the different types of materials like rubber and ice using 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.


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.


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


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.


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.


Learn how to capture keyboard input in the game.


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

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Ahmed Swilam, 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.

Ready to start learning?
Take This Course