Unity 5 Professional Guide - Mastering C# Programming!

Is coding that complicated to you? Well, let's make it simple! Learn the basics of interface up to becoming a code pro!
4.6 (123 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.
1,900 students enrolled
79% off
Take This Course
  • Lectures 45
  • Length 10.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 3/2015 English

Course Description

This is the right course for who is seeking great quality knowledge covering from the most basic aspects of game development up to Unity's most useful functionalities in terms of coding! Maybe you're a designer trying to understand the coding aspect, maybe you're just a student that wants to go deeper into game development, it doesn't matter. I come from a game design background and now I'm a scripting expert so you can do it too!

In this course you can really expect code made easy. Don't fool yourself thinking that no hard work is necessary, though. As well as anything else, learning how to code in Unity is not something that happens overnight, so be sure to put a generous amount of effort onto completing quizzes and following the lectures correctly.

The course includes all sorts of files and materials used throughout, so you can be sure that everything you're learning in the lectures is totally reproducible in your computer without need to worry!

This course covers from the basics of interface up to the getting in deep touch with Unity's API, that is, the set of functions that make us able to code our own stuff inside the game engine, but don't expect to dive right into coding and all of that complicated stuff (not really). I've structured this course in such a way that you will learn everything without rush, so take your time. No prior knowledge is necessary for each lecture other than what you've learned in the previous one!

Having a hard time understanding something? It's like they say: a picture is worth a thousand words. That's why some of the course lectures have blackboard sessions, where I grab some pen and paper (digitally) to clear up your mind with hand-made sketches!

I have to say that this is the best Unity course out there given its price and how much of Unity it covers. You can expect a dedicated lecturer with quite a lot of prior teaching experience, and trust me when I say: I speak your language! Shall we begin?

What are the requirements?

  • Download, install and apply for a Unity 5 Personal license

What am I going to get from this course?

  • Manipulate Unity's interface with certainty and confidence
  • Develop any kind of project through C# skills learned throughout the course
  • Spot and correct programming errors, avoiding unnecessary frustrations
  • Handle Unity's set of functions to design your own games
  • Understand and apply the math behind videogames

Who is the target audience?

  • So you want to develop a game but have no prior knowledge? You're at the right place, my friend. This course is intended to suit the needs of students that want to get the best training on Unity3D and be a pro at this tool.

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: Introduction - Getting to know Unity3D

In this lecture, we'll open up Unity for the first time and we'll take a look on how we can organize its layout to achieve better productivity.


In this lecture, we'll get a chance to play around with what is called a Game Object. Everything that composes our scene (see definition in 'Managing scenes' lecture) is a game object, even if it has no 3D or 2D context. So you'll learn how to change its main properties like position, rotation and scale as well as its name. Moreover, object parenting is also covered.


In this lecture, we'll go through how to apply physics on our previous-built fancy looking snowman. You'll learn best practices in order to make physics perform the way you want in and in an effective way.


In this lecture, you'll learn what a scene is made for and how to keep them organized in your project folder.


In this lecture, we'll import a 3D model from outside Unity. Our specific model was made in Blender and exported in .fbx format (though Unity supports many others) with built-in animation and texture, which we are also going to learn how to work with.


In this lecture, you'll learn how to create a prefab and what is this useful for.


In this lecture, you'll explore a little bit of the effects we can achieve by using Unity's built-in Particle System.


In this lecture, you'll learn how to import assets that can be useful for the creation of 2D games, for which Unity now has some nice new features. In the same context, you'll also learn how to deal with UI elements for Graphics User Interface development.

Section 2: Scripting - Becoming a scripting pro from the basics

In this lecture you'll get used to the concept of a script. What it is, what are the keywords written there used for and so on. It's important that you don't get scared if a concept is misunderstood by now, because we're going to dive deep into every single one of them as you make progress throughout this section.


In this lecture you'll learn the basics about variables. What they are and how they organize into memory, as well as which are the main data types used in C# and how can we use them and edit them inside Unity.

4 questions

Test your new skills! On this quiz, we'll cover a little bit of variables and the main data types.


In this lecture you'll learn how we can take decisions using input data. In the lecture's example, defining whether a person can or can not buy alcoholic beverage given its age.

2 pages

In this EBook, you'll have further information on Conditional Statements. Going through it is highly advised.


In this lecture you'll learn how we can take advantage of looping structures plus the key diference between while and do-while structures.


In this lecture you'll learn how to organize multiple values of the same type by using what we call an array. In other words, a group of values of the same type arranged under the same variable.


In this lecture you'll learn how to use the for loop. In terms of functionality, it's pretty similar to the while loop, buy it has some key differences. In addition, you'll learn how to go through all the elements of an array by using the looping structure you've just learned.


In this exercise, you'll put in practice the knowledge you've just acquired. You'll use for-loops to look for the smallest or biggest element inside an array of integer values.


In this lecture you'll learn what a function is and how we can define one. You'll also learn about the 'print' function, very useful to get information out of the script straight to Unity's debug console, as well as how to pass arguments into functions and to model the arguments as necessary.


In this lecture, you'll get some more knowledge on functions by learning how to give a value back to the system. You'll learn how to create some math functions, such as those to sum, subtract and divide two values and give data back to the user.


In this lecture, you'll learn the difference between passing data by value and reference and why this can seem as a strange behaviour to a beginner's look. In addition to this, you'll learn when a function is called overloaded, which basically means two or more functions sharing the same name, but receiving different parameters and having different implementations.


In this exercise, you'll put in practice the knowledge you've just acquired. You'll build a function that uses arguments to swap the content of two indices of an array. In this lecture you'll also see an example of a value being passed as a reference and how we can benefit from that.


In this lecture, you'll learn about a special function that can pause its execution for a certain amount of time and carry on afterwards. This is used extensively inside Unity and in this lecture you'll learn how to master it.


In this lecture, you'll learn about classes with a simple real-life example. This is one of the most important lessons of the entire course because it's a concept you need to master in order to be good at Object-Oriented Programmimg.


In this lecture, you'll apply what you've learned in the previous one. We are going to create classes and instances of these classes in C# in order to get you familiarized with the syntax.


In this lecture, you'll learn about how we can initialize a class with its variables in a same function, called the constructor.


In this lecture, you'll learn how to organize states into enumerators. A set of words that are no more than integers to the system, but are very useful to the programmer in order to clearly define the value of a state.


In this lecture, you'll learn how to define a variable that doesn't require an instance of an object to be accessed.


In this lecture, you'll learn how to protect your variables from outside access and put constraints into the data you can pass in.


In this lecture, you'll learn how to benefit from inheritance to create highly extensible code.


In this lecture, you'll learn how to benefit from polymorphism to create highly extensible code making usage of interfaces and reusable functions that can be implemented on devired classes as needed.


In this lecture, you'll learn how to get two scripts interact with each other by putting a lot of what you've learned so far in practice.

[Added Nov 19th] Interfaces: Definition and Application
5 questions

On this quiz, you'll review the most important concepts we went through during the last lectures on scripting. Is fundamental that you answer everything carefully and if you get something wrong, try to think carefully why you answer is not right. Best of luck!

Section 3: Math time - Mathematics applied to game development

In this lecture, you'll learn what a vector is and what are its main components.


In this lecture, you'll learn what a normalized vector is and how we can calculate it.


In this lecture, you'll learn how to operate on vectors as well as how to use operations that generate points out of vectors and vice-versa.


In this exercise, you'll put everything about vectors you've leaned so far in pratice to do the math behind a system that gives you meaningful data about the relative angle between you and an enemy.


In this exercise, you'll build a system that theoretically moves an object from point A to point B within a time 't'. You'll learn how to precisely calculate the required amount of movement for each frame to get to the target in the specified time.


In this lecture, you'll apply the concept you've learned previously inside Unity. You'll see how we can successfully code the previous two examples using the knowledge we got from vectors as a whole.

Section 4: Action time - Let's learn Unity's API

In this lecture, you'll learn how to deal with inputs to get informed when a user presses a key or moves the mouse, for instance.


In this lecture, you'll learn how to transform a Game Object's position and rotation based on user inputs.


In this lecture,you'll learn how to create an enemy that chases our main character and stops once it is within a certain distance. Useful for basic AI development.


In this lecture, you'll learn how to create a part environment by changing components in real time. In this example, we'll go through how to change the Light component to create a dynamically color-changing scenario.


In this lecture, you'll learn how to create a Raycast that is useful to get objects that are within a given direction. This is useful to create features such as the direction towards a bullet would go in a shooting game or maybe the position where you would place you character in a Real Time Strategy game.


In this lecture, you'll learn how to put Game Objects in the scenario in real time. Basically, getting prefabs that are in your project's folder and bringing them to life inside your game as it goes.


In this lecture, you'll learn how to create user interfaces that can drive a player to your gameplay scene, for example. Basically, how to create menus with buttons that, once pressed, execute a set of functions like moving the player to another level.

Section 5: Get up to 25% off on my brand new course!
Get extra content!
1 page

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

José Augusto Thomas, Professional Game Developer


I'm professional game developer with years of experience in the industry and passionate about learning and teaching.

I've already taught 10000+ students throughout the platforms I worked at! My teaching methods are simple, though highly effective.

In 2015, I developed the main gameplay systems for the first Angry Birds Virtual Reality Experience ever produced for Rock in Rio Las Vegas. Imgnation Studios (where I work at) partnered with Rovio to develop this title. A couple of months later, I had great contribution on the development of Angry Birds Space, a game made in partnership with Rovio and NASA to celebrate New Horizons pass-by Pluto.


Sou um profissional da área de desenvolvimento de jogos com anos de experiência na industria e apaixonado por aprender e ensinar.

Incluindo todas as plataformas nas quais tenho conteúdo publicado, somo mais de 10 mil estudantes! Meus métodos de ensino são simples mas muito efetivos.

Em 2015, trabalhei nos principais sistemas de Gameplay para a primeira experiência dos Angry Birds em Realidade Virtual, produzido para o Rock in Rio Las Vegas. A Imgnation Studios (empresa onde trabalho) fez uma parceria com a Rovio (desenvolvedora original dos Angry Birds) para o desenvolvimento desse projeto. Alguns meses depois, contribuí amplamente no desenvolvimento de Angry Birds Space, um jogo feito em parceria com Rovio e NASA para comemorar a passagem da New Horizons por Plutão.

Ready to start learning?
Take This Course