The Complete Unity Game Development Course
4.7 (107 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,585 students enrolled

The Complete Unity Game Development Course

Create Your Own First Person Shooter Zombie Game
Hot & New
4.7 (107 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,585 students enrolled
Last updated 7/2020
English
English [Auto]
Current price: $20.99 Original price: $29.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 20 hours on-demand video
  • 2 articles
  • 81 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • The Unity Game Engine Software
  • Creating and animating a first person character for use in an FPS
  • Animating humanoid models and NPCs
  • Artificial Intelligence techniques for defining the behaviour of non-player characters
  • Using particle systems to simulate fire, fog and blood
  • Using physics to develop a shooting mechanic with rag doll animations
  • Unity's Canvas to develop an integrated heads up display with maps, radar and compass
  • How to create pickup items with colliders and triggers
  • Add position checkpoints to save player locations
  • Add dynamic visual and audio special effects
  • Unity's Terrain Sculpting System for developing game maps
  • How to use lighting to enhance a game environment
  • Post Processing Techniques to enhance the look of a game environment
  • How to build a standalone game from Unity
Course content
Expand all 100 lectures 20:05:53
+ Introduction
3 lectures 05:25

In this lecture the instructor will welcome students to the course and give an overview of the content.

Preview 03:31

H3D has a bustling online student community.  Here's how to get involved.

Preview 01:15

Here's how to get the best experience from studying this course and answers to some popular student questions.

FAQs
00:39
+ Getting Started with Unity
12 lectures 02:38:53

In this lecture students will learn how to download the Unity Hub, find an appropriate version of Unity, install it and understand the folder structure of a project.

Installation
14:10

In this lecture students will begin to learn about the different windows and Unity and start adding primitive objects to create a scene.

Navigating the Interface Part 1
14:28

In this lecture students will learn more about the game hierarchy, project and inspector windows.

Navigating the Interface Part 2
13:11

In this lecture students will learn about the different ways to bring external models into their Unity projects and about the nature of meshes.

Models and Meshes
15:30

In this lecture students will be introduced to textures and how they are used and applied in a game environment.  They will also have a chance to practice putting basic textures onto a model.

Textures
11:12

In this lecture students will learn about the use of tiling and offsets to move a texture around on the surface of an object.

Textures and UV Values
14:38

In this lecture students will examine materials further and use a variety of settings to create different effects from high metallics to raised brick walls.

More About Materials
13:38

In this lecture students will extend their knowledge of materials and look at the different settings available in Unity's standard shader and use it to create a variety of visual effects.

Shaders
15:35

In this lecture students will start to explore the physics system inside Unity and create a simple gravity simulation and investigate colliders and drag.

Physics
12:23

In this lecture students will learn how to work with bounce and friction to bring different properties to their physics objects.

Physics Materials
13:52

In this lecture students will get a quick overview of how to write C# code to access Unity events.

An Overview of Programming with Events
11:49

In this lecture students will learn about accessing game object properties via code and write a simple program to manipulate them at run time.

An Overview of Programming with Properties
08:27
+ Creating a First Person Character with Controller
13 lectures 02:35:38

In this lecture students will create a very simple player character from a capsule and add code to move it around.

Programming FPC Movement
14:19

In this lecture students will learn how to constrain physics reactions and add a character jump.

Character Physics
14:59

In this lecture students will learn how to add mouse-controlled camera looking code and attach the camera to the character.

A First Person Camera
15:53

In this lecture students will learn how to make their character move in the direction of the camera as well as clamp the camera's rotation.

Orientating and Restricting Movement
08:13

In this lecture students will add several methods to the code to lock the cursor and make the mouse pointer invisible.

Cursor Locking
08:09

In this lecture students will import an animated model and attach it to their character controller to act as a set of rifle holding arms.

Adding Character Model
13:30

In this lecture students will learn how to transition between animations with key and mouse button presses.

Transitioning Between Animations
13:47

In this lecture students will learn how to use triggers to fire animations.

Animation Triggers
07:20

In this lecture students will learn how to attach a weapon to the character so it animates as the character moves.

Preview 10:19

In this lecture students will complete the player animation controller by adding in a walking animation and dealing with the transitions involved.

Completing the Player Animation
14:07

In this lecture students will learn how to add sounds into Unity and a variety of ways to make them play including synchronising them with the animations using events.

Sound Events in Animation
11:54

In this lecture students will learn how to add a variety of sounds into an array and select them to play at random while controlling the interval between them.

Randomising Sounds
12:19

In this lecture we will add jumping and landing sounds to the character controller.

Jumping and Landing Sounds
10:49
+ Picking Up Items
7 lectures 01:20:48

In this lecture students will learn how to create items from prefabs and add the necessary components and tags to make them pickups.

Creating Pickups
13:30

In this lecture students will learn how to destroy a game object when collided with and will be challenged to add sounds to the pickup events.

Detecting Collisions with Pickups
12:47

In this lecture students will learn how to create a simple inventory to keep track of how many items are picked up and also to limit the amount the player can carry.

Keeping an Inventory
11:05

In this lecture students will integrate the ammunition inventory count with the shooting animation to cause ammunition to be lost with each shot.

Firing a Weapon To Deplete Ammunition
10:14

In this lecture students will further develop the code to deplete the player's health when they walk into lava and learn how to add and play a death sound.

Depleting and Topping Up Health
14:38

In this lecture students will learn how to manage a weapon's clip and transfer bullets from the inventory to the rifle on a reload.

Ammunition Clip Management
12:07

In this lecture students will investigate the issue behind the footstep sounds repeatedly triggering and add new code to fix it.

Fixing Footstep and Jump Sounds
06:27
+ The Game Environment
11 lectures 02:15:42

In this lecture students will learn how to create a terrain game object and start sculpting it.

Sculpting a Terrain
13:21

In this lecture students will learn how to texture a terrain with a variety of seamless images and work with the texture UVs to adjust tile visibility.

Texturing a Terrain
12:23

In this lecture students will learn how to paint trees onto the surface of a terrain and set the level of detail and visibility ranges.

Trees
12:59

In this lecture students will learn how to add detail billboards and meshes to a terrain and some of the settings that will affect how many objects Unity will allow.

Adding Terrain Details
11:33

In this lecture students will learn how to create a 6-sided material and use it to render a sky.

Skyboxes Part 1
10:39

In this lecture students will learn how to create skyboxes from a single image using cube mapping and spherical mapping.

Skyboxes Part 2
14:25

In this lecture students will learn how to setup and render fog while examining the benefits and shortfalls of using this technique.

Fog
12:09

In this lecture students will learn how to add buildings and props to their terrain to create a small village.

Adding Buildings and Props
12:06

In this lecture students will learn about the design principles behind the production of game terrains and how to use them to better their creations.

Design Principles for Terrain Aesthetics
09:25

In this lecture students will learn about the differing game level structures that can be used to dictate the narrative and layout of a game environment.

Game Map Layouts
08:29

In this lecture students will learn how to export and import files and ready a new terrain for designing their game level.

Constructing the Game Level with FPC
18:13
+ Zombies!!
9 lectures 02:00:45

In this lecture students will learn how to setup animation transitions and boolean triggers for the zombie characters that will be used in the game.

Creating Animated Zombies
12:35

In this lecture students will take their animated zombie models and integrate them with the game level terrain and First Person Controller.

Importing Zombies To Terrain
11:56

In this lecture students will learn how to create a navigation mesh on the terrain and setup a NavMesh agent.

Navigation Meshes
12:54

In this lecture students will learn how to make the zombie agents move towards and attack the player character.

Programming NavMesh Agents
13:09

In this lecture students will learn about Finite State Machines and begin implementing one to control the zombies behaviour.

Finite State Machines Part 1
16:04
Finite State Machines Part 2
14:28

In this lecture students will learn how to fix glitches in the FSM as well as add random transitions between states.

Finite State Machines Part 3
12:40

In this lecture students will learn how to spawn zombies with code around a spawn point and position them on the NavMesh.

Spawning Part 1
16:20

In this lecture students will learn how to trigger code when the player walks through a collider around the spawn point.

Spawning Part 2
10:39
+ Doing Combat
12 lectures 02:27:32

In this lecture students will learn how to turn a character model into a rag doll for use with the death animation.

Ragdolls Part 1
13:22

In this lecture students will learn how to swap the animated model out with a ragdoll when a zombie dies as well as randomly add back in the death animation.

Ragdolls Part 2
15:55

In this lecture students will prepare the code and characters to ready them for processing hits from the player's gun.

Shooting at Zombies Part 1
12:28

In this lecture students will program in the shooting mechanic to detect when a shot aimed at a zombie kills it.

Shooting at Zombies Part 2
10:48

In this lecture students will learn how to use a spotlight to create a targeting site that shows up only on zombie characters.

Creating a Targeting Site for a Weapon
10:48

In this lecture students will learn how to make a character sink through the ground once it is dead and then remove it from the scene.

Burying the Undead
13:24

In this lecture students will add the sink script to the ragdoll prefabs and learn how to tweak it to work with multiple different character types.

Sinking Ragdolls
10:02

In this lecture students will edit the animation files for each zombie to call a method on the player character to cause health damage.

Damaging The Player Part 1
17:07

In this lecture we will complete the game mechanic of damaging the player character with a series of challenges and the addition of attacking sounds.

Damaging The Player Part 2
12:33

In this lecture students will begin working on the end conditions of a game and add in an animation to show the death of a player.

Game Over Part 1
13:26

In this lecture students will learn how to debug issues that arise from the removal of the First Person Character from the scene and create a static variable to act as a global value across scripts.

Game Over Part 2
09:31

In this lecture students will add in a safe zone to represent the player's home goal and set the animations appropriately.

Victory Dance
08:08
+ Heads Up Display
8 lectures 01:45:21

In this lecture students will get an overview of the Unity UI system and create their first slider that will be used as a health bar.

Getting Started with Unity's UI
15:28

In this lecture students will create a health bar and hook it up via code to the player character's health to display collecting and losing health.

Creating a Health Bar
09:12

In this lecture students will learn how to add an image and a textbox to the UI to show the player how much ammunition they have in reserve.

Ammunition Counts
14:11

In this lecture students will be challenged to add a UI item to keep track of the number of bullets left in the gun.

Displaying Bullets Left in Gun
15:41

In this lecture students will put together the skin for a radar system that will be able to detect nearby objects for the player.

Building a Zombie Radar Part 1
12:24

In this lecture students will complete the radar design by placing red dots on the radar at the positions of the zombies and allow the radar to rotate.

Building a Zombie Radar Part 2
16:12

In this lecture students will be shown how to add the medkits and ammo boxes to the radar as points in addition to using a mask to stop drawing points that go off the radar.

Adding Medkits and Ammo Boxes to the Radar
07:19

In this lecture students will complete their HUD by adding a compass which shows the player which way they should be travelling to reach the goal location.

Building a Goal Pointing Compass
14:54
+ Final Touches
15 lectures 03:27:44

In this lecture students will learn about the different types of lights they can use in their scene as well as how shadows can be set.

Lighting
14:48

In this lecture students will learn how to use reflection probes to light up areas of the environment with reflected colours.

Reflection Probes
11:42

In this lecture students will begin to create particle systems and explore the variety of settings that can lead to different special effects.

Particle Systems Part 1
12:10

In this lecture students will learn how to make more advanced effects and couple them with props.

Particle Systems Part 2
15:26

In this lecture students will learn how to make complex particle systems with multiple emitters, a game object and a light.

Complex Fire Particle System
15:10

In this lecture students will learn how to create a prefab out of a particle system and spawn it with code on the collider of a game object.

Zombie Blood Spatter
12:21

In this lecture students will learn how to use a raw image to display blood splatters on the heads up display each time the player takes a hit from a zombie.

Screen Blood Spatter
14:53

In this lecture students will learn how 3D sounds work in Unity and use them to add background wind noises to forest zones.

Sound Effects
17:02

In this lecture students will be challenged to place sounds onto the zombie prefabs and learn how to change the settings to use the sound on male and female characters.

Zombie Sounds
10:33

In this lecture students will learn how to code for sounds that repeat at random intervals.

Randomly Playing Sound Loops
18:10

In this lecture students will gain an overview of the post processing stack provided with Unity and learn how to implement it.

Post Processing
16:56

In this article you will be given a little guidance on using Unity packages from the Package Manager

Future Work with Unity Packages
00:35

In this lecture students will learn how to hook up a button in a different scene to switch into the game view.

Main Menu and Scene Switching
13:02

In this lecture students will learn how to make a game object continue to exist through scene changes.

Continuous Background Music
18:23

In this lecture students will learn how to hook up the music volume controls to a UI slider.

Volume Controls
16:33
+ Extra Challenges
7 lectures 01:03:18

In this lecture students will be challenged to add a game title to the main menu and then shown how to animate it.

Zombie Game Title
05:43

In this lecture students will be challenged to add animated text when the game is over.

Game Over
08:25

In this lecture students will be challenged to add music audio to the victory animation.

Victory Music
05:13

In this lecture students will be challenged to allow the player to die three times before the game goes back to the main menu after player death.

Three Strikes and You're Out
17:06

In this video students will be challenged to scale the size of the blood splatters that hit the HUD.

Random Blood Splatter Sizing
03:27

In this lecture students will be challenged to modify the code to allow zombies to take more than one shot before dying.

Zombies: More than One Shot Wonders
07:07

In this video students will be challenged to update their compass to point to the next checkpoint on their path rather than the home location.

Checkpoint Compass
16:17
Requirements
  • Students must be confident with a procedural or object-oriented programming language such as C#
  • Students will require a Mac or PC with the free version of Unity installed
Description

Getting started in game development doesn't have to be scary.  All you need is the passion to learn and an inquisitive, experimental nature for combining code, animation, graphics, artificial intelligence, art and audio.  Sounds like a lot?  It is, but when you see how you as a solo developer can bring it all together there's a touch of magic in the air.

Unity is the number one game development engine due to its ease of use and yet powerful abilities.  It works on all platforms and can export to desktop, console and mobile devices.  It's a great way for the beginner to jump straight into the world of game development and get their hands on the tools used by AAA game studios to produce games such as Hearthstone (Blizzard Entertainment), Cities: Skylines (Colossal Order) and Monument Valley 2 (ustwo Games) and best of all, for the beginner and hobbyist it is free!

In this course, Penny demystifies Unity's interface and plethora of tools to bring art, code, design, and more together to produce a fully-fledged First Person Shooter game completely from scratch. Using her internationally acclaimed teaching style and knowledge from over 25 years working with games, graphics, and having written two award-winning books on games A.I., Penny will take you from complete noob to a confident user of Unity. Throughout, you will follow along with hands-on workshops designed to take you through every step of becoming familiar with all the functionality of the game engine.  Throughout, you will work towards the creation of a First Person Shooter set in a post-apocalyptic world complete with zombies out for the player's brains!

This course was created with Unity 2019.3.11f however is compatible with Unity 2019.4.2f1 (LTS) on either Mac or PC.

Learn how to code, animate, and work with:

  • The Unity Development Environment.

  • Unity's C# interface.

  • Terrain Sculpting Tools for creating game maps.

  • First Person Characters and Animations for Walking, Shooting, and Reloading.

  • Pickup Items for Medical Kits and Ammunition.

  • 3D Models of Zombies to add Animations for Walking, Chasing and Attacking.

  • An inventory system to keep track of player health and ammunition supplies.

  • Navigation Meshes for programming the movement of zombies and path planning on a terrain.

  • Finite State Machines for defining enemy A.I. behaviours.

  • Constructing Ragdoll models for dynamic death animations.

  • A Heads Up Display to inform the player of their health level and ammunition level, complete with a radar for locating zombies and a compass to guide the player home.

  • Special Effects such as fire, blood splatter, and lighting techniques.

  • Building the game to a standalone product.

All assets and incremental project files are included.

Contents and Overview

The course begins with a section to introduce you to the Unity interface.  If you are already familiar with Unity, you can skip to Section 3.  In this introductory session, we will cover Unity's window system, how to add models and textures, the creation of code to manipulate the properties of models, and the physics system.

Following this, we will start work on the First Person Character (FPC).  You will learn how to add physics and code to move the character around, as well as add animated arms and a weapon that you can see in the game view.  You will also work to add animations for firing and reloading the weapon.  Audio effects for the player's footsteps and jumping will also be included here.

Next, you will create pickup items for medical kits and ammunition that can be scattered around the game environment to provide extra resources to the player when their health or bullet levels get low.  Here you will learn about how colliders and triggers can be used to fire off code to update values on the player that store an inventory.

We will then jump into the Unity Terrain Sculpting tool and work through the creation of a large game map on which to place the FPC and enemies.  You will work with textures to colour the terrain and models, to add extra details such as trees and grass.  High-quality models of houses, rocks, fences, and other props will be included for you to be as creative as you like in developing the game environment.

By this point, you'll be ready to start adding the zombies.  You will first begin with the zombie models and learn how to add animations to them and then move them about on the game environment using navigation meshes.  Then we will cover one of the most popular artificial intelligence techniques used in games for creating simple behaviours in non-player characters; the Finite State Machine.  You will develop enemies capable of wandering, chasing, attacking, dying, and standing idle.  These actions will be linked to the location of the player such that the zombies will ignore the player when they are far away and only attack when in range.

Once these mechanics are in place, you will learn how to use raycasts to link the player's shooting animations with a hit to the zombie.  When hit, the zombie death animation will play and you will also be able to add in a ragdoll instead at this point.  We will work with spotlights to create a crosshair aiming system and program dead zombies to sink into the ground, to remove them from the game.

Last but not least, we tie everything together with a Heads Up Display complete with health meter, an ammunition count, a radar for detecting nearby zombies, and a compass to point the player toward their goal location.

Once you have put all the game mechanics in place, you'll learn several techniques for taking your game to a more professional level with special effects, extra audio & feedback, and a main menu switching system.

This is the perfect course to get started with Unity if you are an absolute beginner or learn a few extra techniques if you are familiar with the engine. 

What students are saying about Penny's courses:

  • Excellent course!! I am already in game development industry and there is one quote here that "Whenever you are not able to solve complex problem, its the right time to get back to the BASICS"

  • Penny is a natural born teacher, able to explain otherwise difficult concepts in a fun, engaging way that just make such simple sense, and makes you wish you would have had her for a high-school teacher so long ago.

  • This course is absolute gold! I am a Software Engineering Teacher as well as a solo game developer, and of all the courses I have taken on Udemy, this is has been the most useful and eye opening by far.

Who this course is for:
  • Beginners interested in learning Unity and game development from scratch
  • Beginners already familiar with Unity who want to learn how to create a First Person Shooter