314
Lectures
40
Hours
Watch Intro Video

What is Unity?

Unity is a cross-platform engine. The Unity editor is supported on Windows, macOS, and the Linux platform, while the engine itself currently supports building games for more than 25 different platforms, including mobile, desktop, consoles, and virtual reality.

What we are going to build?

The course is covering the development of 3 games. Starting with basic concepts explained on a simple game and finishing with more advanced concepts by creating an RPG sandboxed game. The course is covering a full deep explanation of methods and related mathematics concepts.

Project 1 (Evade the cubes)

The first part of the course is covering basic concepts. Students will get familiar with the Unity editor and environment. 

  • Base game mechanics
  • Orientation in 3D space
  • Positions of game objects + Vectors
  • Simple movement system
  • Score system
  • Health system
  • Materials & prefabs
  • UI & Canvas


Project 2 (Platform Survival)

The second part of the course is focused on the physic system.

  • Rigidbodies 
  • Physic system
  • Movement + rotations
  • Follow camera
  • Coroutines
  • Adding forces
  • Powerups
  • Enemies 
  • Following targets


Project 3 (Rpg Adventure)

The last part of the course is covering more advanced concepts and the development of sandboxed RPG game.

  • Character controller
  • Cinemachine
  • 3rd person camera and full movement
  • Animations
  • 3rd party packages & models
  • Fight system + Combos
  • Enemies + Detection system
  • Quest System
  • Level System
  • Health System
  • Dialog system
  • Respawns
  • Inventory System
  • Weapon equipping

Requirements

  • Basic knowledge of C# or any other Object Oriented programming language

Course curriculum

  • 1

    Introduction

  • 2

    Project 1 - Evade The Cube

    • Installing Unity

    • Getting More Familiar with Unity

    • Parenting Gameobjects

    • About the camera

    • Components

    • Project Preview

      FREE PREVIEW
    • Create Player

    • Material and Light

    • Lighting

    • First Coding

    • Update & fps

    • Init lifecycle function

    • Update lifecycle functions

    • Stats and Enemy Object

    • Get reference to own component

    • Get Access To other component

    • Get component through editor

    • Problems with Awake

    • Get Horizontal and Vertical axis

    • Apply Movement

    • Fix movement speed

    • Scale plane

    • Add Walls

    • Restrict movement of the player

    • Fix Restrict Movement

    • Enemy Movement

    • Prefabs

    • Create Gameobject from the script

    • Random X Position

    • Destroy Game Object

    • Destroy enemy on collision

    • Receive damage on hit

    • Decrease health of the player

    • Create Canvas HUD

    • Provide value to health text

    • Catch Enemy

    • Create catch enemy from script

    • Methods Refactor

    • Change behaviour of catcher

    • Restart the game

    • First Project Assignment

    • First Project Solution

  • 3

    Project 2 - Platform Survival

    • Project Preview

      FREE PREVIEW
    • Init Second Project

    • Change position of the player

    • Move with translate

    • Normalize Vector

    • AI - Normalize

    • Changing the camera

    • Adds rigid body component

    • Get RB in script

    • Rigidbody Explanations

    • Elevators

    • Elevators Movement

    • Wait coroutine

    • Coroutine in Start

    • Elevator Refactor

    • On Trigger Enter

    • Tags

    • Change parent of player

    • Elevator offset

    • Apply elevator offset

    • Add rigidbody to elevator

    • Camera Position

    • From To Rotation

    • Rotate Towards

    • Look Backward direction

    • AI Dot Product

    • Rotation Refactor

    • Add Enemy

    • Enemy follow target

    • Improve following of player

    • Spawn Manager

    • Destroy and Spawn new enemy

    • Spawn Enemy waves

    • Powerup

    • Get speed from powerup

    • Powerup Coroutines

    • Add more power to player

    • Create circle game object

    • Draw circle method

    • Draw complete circle

    • AI - Draw Circle

    • Add circle to enemy

    • Add Push range to enemy

    • Game Manager and Canvas

    • Spawn enemy on button click

    • Restart the game + Disable canvas

    • On Game Start

    • Finish Project 2

    • Project Assignment

    • Project Solution

  • 4

    Project 3 - RPG Game Beginnings

    • Project Intro

      FREE PREVIEW
    • Section Intro

      FREE PREVIEW
    • Project Setup

    • Learn by inspecting other projects

    • Simple movement

    • Add Rigidbody

    • Add rotation

    • Explain Rotate Towards

    • Follow Camera

    • Camera Rotation with Player

    • Rotate Camera Refactor

    • AI - Lerp

    • AI - Rest of rotation

    • AI - Lerp Additional

    • Move in direction of camera

    • AI - Move in direction of the camera

    • Revert to normal movement

  • 5

    Cinemachine and Character Model

    • Section Introduction

      FREE PREVIEW
    • Cinemachine

    • Move camera while holding mouse

    • Input Manager

    • Rotate in direction of the camera

    • Move in direction of the camera

    • Add Character controller

    • Add Character model

    • Character controller properties

    • Add player input

    • Refactor Move Input

  • 6

    Animator

    • Section Intro

      FREE PREVIEW
    • Animator Start

    • New Anim Controller

    • Change Parameter from Script

    • Controlling forward speed

    • Control Acceleration

    • Applying rotation

    • AI Code Debugging

    • AI Rotations

    • Smooth Rotation

    • Oposite direction rotation

    • Change animator settings

    • Camera controller refactor

    • Animator Blend Tree

    • Small Animator Fix

    • Add gravity

  • 7

    Add Enemies

    • Section Intro

      FREE PREVIEW
    • Create bandit

    • Player Instance

    • Detection Range

    • Draw Solid Arc

    • AI Draw solid arc

    • Dot product to detect player

    • AI Dot Product to detect player

  • 8

    Navmesh and AI

  • 9

    Enemy Animations

    • Section Intro

      FREE PREVIEW
    • Go back to original position

    • In Pursuit Animation Parameter

    • Near base parameter

    • Fix Line Endings

    • Add Enemy animations

    • Enemy Controller

    • Move mesh agent into enemy controller

    • Player Scanner

  • 10

    Attack System

    • Section Intro

      FREE PREVIEW
    • Setup attacking distance

    • Attack parameter

    • Attack animation

    • Refactoring of enemy controller

    • Sword Stance

    • Fix Attack distance

    • Go back to origin rotation

    • Attack Input

    • Improving Attack Input

    • Melee Attack Animator

    • Damageable Script

    • Bandit Behaviour Refactor

    • Fixing initial walk animation

  • 11

    Weapons

    • Section Intro

      FREE PREVIEW
    • Weapon Prefabs

    • Add Melee Weapon script to swords

    • Adding melee weapon to player

    • Fixed Update Follow

    • Melee detection range

    • Rotate to target

    • Small refactor of bandit behaviour

    • Attack points on weapon

    • Drawing the ray

    • AI Spheres

  • 12

    Damage System

    • Section Intro

      FREE PREVIEW
    • Animation Attack Events

    • Animation Interface

    • Cast sphere colliders

    • Add Collider to enemy

    • Check for damage

    • Check for correct layer

    • AI - Layer Mask

    • AI - Int32 in C#

    • Damageable Partial class

    • Draw Hit Angle

    • Specify damage data

    • Check angle between

    • Damage message receivers

    • Message receiver interface

    • Invulnerability time

    • Set bandit animation trigger

    • Moving animator from bandit to enemy

  • 13

    Damage Animations

    • Hurt Animation

    • Dead animation

    • Replace with Ragdoll start

    • Ragdoll Prefab

    • Replace with Ragdoll Implementation

    • Particle System

    • Dissolve

  • 14

    Quest System

    • Section Intro

      FREE PREVIEW
    • Quest NPC

    • Quest & Quest manager

    • Designing quests

    • Opening JSON file

    • Json Wrapper

    • Explaining Using statement

    • Unique IDs

    • Assigning quest to quest giver

    • Quest Log

  • 15

    Raycast pointer clicks

    • Section Intro

      FREE PREVIEW
    • Mouse over collider

    • Clickable & Cursor image

    • Display Cursor

    • Raycast cursor hit

    • Check quest giver tag

    • Check Distance between NPC

    • Set talk in player input

  • 16

    Dialog UI

    • Section Intro

      FREE PREVIEW
    • Dialog Structure

    • Dialog Manager + UI

    • Adding more UI elements

    • Static player input

    • Activating Dialog UI

    • Adding option click target

  • 17

    Dialogs

    • Section Intro

      FREE PREVIEW
    • Get player and npc in dialog manager

    • Stop Dialog

    • Display welcome text

    • Dialog Option List UI

    • Create dialog Option

    • Button Option Indentation

    • Hide welcome text

    • Clear Dialog Options

    • Sync dialog options

    • Register click handler

    • Display NPC answer

    • Trigger Dialog Quit

    • Add Quest to quest log

    • Damage receiver in quest manager

    • On receive message improvement

    • On receive message more info

    • Check quest objective

    • Check for enemy UID

    • Changes in bandit prefabs

    • New quest giver and quest

  • 18

    Player Stats

    • Section Intro

      FREE PREVIEW
    • Player Stats

    • Message receiver in stats

    • Check for enemy layer and get exp

    • Gain experience functionality

    • Get exp from the quest

  • 19

    Inventory

    • Section Intro

      FREE PREVIEW
    • Item spawner

    • Trigger Item Spawner

    • Inventory Manager

    • On item pickup event

    • Add On Item pickup to manager

    • Inventory UI

    • Inventory Slot

    • Place item to slot

    • Add Item from spawner + UI slot names

    • Use Item + Slot click handler

    • Equip Weapon

    • Equip weapon fixes

    • Add melee weapon to enemy

    • Receive damage from enemy

    • Set target layer on the weapon

  • 20

    Hud manager

    • Creates HUD UI

    • Hud manager

  • 21

    Player Respawn

    • Section Intro

      FREE PREVIEW
    • Player death animation

    • Cache animation State

    • Stop input blocking

    • Block player input movement and attack

    • Start Respawn

    • Set respawning value

    • Reset the health

    • Delay respawn animation

    • Stop bandit pursuit

    • Check if clicking UI element

  • 22

    Audio System

    • Section Intro

      FREE PREVIEW
    • Random Audio Player

    • Sound assets

    • Swing Sound

    • Apply sounds to all weapon

    • Impact sound & ragdoll prefab fix

    • Footfall parameter curve

    • Add footfall sound to the player

    • Running sound finish

  • 23

    Environment

    • Section Intro

      FREE PREVIEW
    • Working on the terrain

    • Practicing terrain

    • Main World Terrain p1

    • Main world terrain p2

    • Working on textures

    • Placing the road

    • 284 Trees and grass

    • Lighting settings

    • Adding buildings

    • Last testing

    • Create Build

    • Course Ending

Instructor(s)

Software Engineer

Filip Jerga

My name is Filip Jerga and I am an experienced software engineer and freelance developer. I have a Master's degree in Artificial Intelligence and several years of experience working on a wide range of technologies and projects from C++ development for ultrasound devices to modern mobile and web applications in React and Angular. Throughout my career, I have acquired advanced technical knowledge and the ability to explain programming topics clearly and in detail to a broad audience. I invite you to take my course, where I have put a lot of effort to explain web and software engineering concepts in a detailed, hands-on and understandable way.

FAQ

  • How to get help when I am stuck with the course?

    Every video contains a discussion where you can create a post describing an issue. The instructor responds usually within 1 business day.

  • What to do when I am unhappy with the course ?

    Within 30 days from the purchase, you can ask for a full refund. No questions asked. Your happiness is our priority.

  • Do I need to watch every lecture of really extensive course?

    Of course not! Every lecture is committed (explained in the introduction section). You can start watching at any lecture, just download the correct version of the project attached to the lecture resources.

Eincode Access Options

  • Single Course Access

    • Lifetime and unlimited Access to "The Complete Unity Guide 3D - Beginner to RPG Game Dev in C#"

    $29.00

    Access to this course only.

    Get started now
  • Monthly Membership

    • Unlimited Access!
    • Access to any current course!
    • Access to future courses!

    $19.00 / month

    Cancel Anytime!

    Get started now
  • Annual Membership

    • Unlimited Access!
    • Access to any current course!
    • Access to future courses!

    $190.00 / year

    Cancel Anytime!

    Get started now