Unity 5 Professional Guide - Mastering C# Programming!
4.6 (127 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,926 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Unity 5 Professional Guide - Mastering C# Programming! to your Wishlist.

Add to Wishlist

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 (127 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,926 students enrolled
Last updated 12/2015
English
Current price: $15 Original price: $70 Discount: 79% off
4 days left at this price!
30-Day Money-Back Guarantee
Includes:
  • 10.5 hours on-demand video
  • 3 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Have a coupon?
What Will I Learn?
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
View Curriculum
Requirements
  • Download, install and apply for a Unity 5 Personal license
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?

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.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 45 Lectures Collapse All 45 Lectures 10:20:51
+
Introduction - Getting to know Unity3D
8 Lectures 01:45:17

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.

Preview 07:35

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.

Preview 15:37

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.

Understanding physics components
14:44

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

Managing scenes
08:44

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.

Importing models and animations, applying textures and materials
17:25

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

Creating and understanding the importance of Prefabs
08:00

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

Creating cool game effects with Unity's Particle System
19:07

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.

Importing 2D game assets and UI elements
14:05
+
Scripting - Becoming a scripting pro from the basics
23 Lectures 05:24:50

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.

Introduction to the idea of a script and its initial appearance
10:59

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.

Preview 18:37

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

Quiz on variables and main data types
4 questions

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.

Conditional statements (if, else if and else)
18:38

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

More on Conditional Statements
2 pages

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

Loop structures I: While and Do While
13:19

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.

Arrays
10:23

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.

Loop structure II: For loop
11:29

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.

Coding Exercise: Getting the smallest/biggest element from an array
08:22

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.

Functions I: Defining functions and arguments
14:05

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.

Functions II: Returning values from functions
16:11

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.

Functions III: Overload functions and passing parameters by value or reference
14:12

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.

Coding Exercise: Writing a function to swap two array indices
10:29

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.

Coroutines
15:30

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.

Classes and its instances I: A great explanation using real life examples
12:37

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.

Classes and its instances II: How to create classes and instances in C#
19:52

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

Constructors
13:30

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.

Preview 18:03

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

Static Variables and Methods
10:10

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

Encapsulators
18:44

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

Inheritance
17:27

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.

Polymorphism and abstraction
19:19

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.

How to get two scripts to interact with one another in Unity
16:57

[Added Nov 19th] Interfaces: Definition and Application
15:57

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!

C# Review
5 questions
+
Math time - Mathematics applied to game development
6 Lectures 01:16:06

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

Defining a vector
12:12

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

Unit or normalized vector
08:13

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.

Operations on vectors
17:45

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.

Preview 12:43

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.

Math example: Using vectors to go from A to B in 't' seconds
10:13

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.

Applying vectors on Unity
15:00
+
Action time - Let's learn Unity's API
7 Lectures 01:51:38

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.

Keyboard and Mouse Inputs
18:22

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

Preview 18:34

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.

Chasing and Looking at Another Object
16:16

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.

Changing Components in Real Time
17:20

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.

Understanding and Applying Raycasts
18:17

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.

Adding Prefabs in Real Time
11:10

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.

Creating User Interfaces and Swapping Between Scenes
11:39
+
Get up to 25% off on my brand new course!
1 Lecture 00:00
Get extra content!
1 page
About the Instructor
José Augusto Thomas
4.6 Average rating
1,041 Reviews
7,838 Students
5 Courses
Professional Game Developer

English

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.

Português

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.