Learning Path: Unreal Engine: Master Game Development
3.5 (2 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.
125 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learning Path: Unreal Engine: Master Game Development to your Wishlist.

Add to Wishlist

Learning Path: Unreal Engine: Master Game Development

Become proficient at game development using Unreal Engine with this Learning Path
3.5 (2 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.
125 students enrolled
Created by Packt Publishing
Last updated 6/2017
Current price: $10 Original price: $200 Discount: 95% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 10 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • How to implement an RTS-style free roaming cameraselecting non-playablecharacters (NPCs) through mouse input
  • How to implement an RTS-style free roaming cameraselecting non-playablecharacters (NPCs) through mouse input
  • Programming simple logging functionality in UE 4 with C++
  • Learning memory management in UE4
  • Using the Unreal Engine C++ API
  • How to create Destructible environments
View Curriculum
  • Basic knowledge of Unreal Engine
  • Basic knowledge of game development

If you’re a game developer who is familiar with Unreal Engine 4, and video game development in general, but want to learn more about gameplay programming in Unreal Engine 4, this learning path is for you.

Unreal Engine holds the undisputed title of being the the most successful video game engine.

Learning Path: Unreal Engine: Master Game Development is Packt’s Video Learning Path that is a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it.

Creating Unreal Engine C++ projects and connecting them to source control. Bring everything together with an RTS-style user interface using Unreal Motion Graphics (UMG).

The above-mentioned activities are some of the highlights of the course.

Beginning with implementing an RTS-style free roaming camera from scratch, you will then move on to selecting Non-Playable Characters (NPCs) through mouse input, and using basic Artificial Intelligence (AI) and Pathfinding to have selected NPCs move around a level. You will then be exposed to the architecture of Unreal Engine 4 classes, memory management, and basic coding utilizing the C++ programming language.

Moving on, create your own high standard game with Unreal Engine 4.x. Finally, in the last module, add a second unit to the game, making a unit attack,creating destructible environments, and bring everything together with an RTS-style user interface using Unreal Motion Graphics (UMG).

The goal of this Learning Path is to make a industry-standard game developer out of you.

This Learning Path is authored by one of the best in the field.

Jonathan A. Daley

Jonathan A. Daley is a co-founder of independent game studio Nacelle Games, which he founded with his wife Carrie Daley, in 2014. Since then they've shipped several games and apps for iOS and tvOS, as well as consulted on several VR projects. He has programmed and designed over 20 games and apps since 2013, using everything from the Unreal Engine 4 and Unity 3D game engines, to programming games and apps from scratch in Xcode and Visual Studio.

Dr. Alireza Tavakkoli

Dr. Alireza Tavakkoli is an Associate Professor of Computer Science at the University of Houston-Victoria. He is the director of the Digital Gaming and Simulation program. He is also the founding director of the Computation and Advanced Visualization Engineering Laboratory. His research interests include visual computing and visualization, Artificial Intelligence and machine learning, virtual reality for telepresence and telerobotics, and high-performance computing. During his tenure at the university, he has taught graduate and undergraduate courses in Computer Science and Gaming, including Advanced Level Design, Game Engines Programming, Gaming Network Architecture, Artificial Intelligence, Parallel Computing, and Theory of Computation.

Paul MauvielPaul Mauviel is a freelance contract consultant specializing in Virtual Reality, Unreal Engine and Containerized Web Application Technology. His most recent work is that of DreamDesk which is a Virtual Reality Desktop Application built in Unreal Engine 4 which differentiates itself from the competition by allows users to view any of their open windows in VR. Paul has also worked on multiple containerized application solutions for dynamic web application hosting and deployment.

Who is the target audience?
  • A game developer who is familiar with Unreal Engine 4, and video game development in general, but want to learn more about gameplay programming in Unreal Engine 4
Students Who Viewed This Course Also Viewed
Curriculum For This Course
58 Lectures
Building an Unreal RTS Game: The Basics
13 Lectures 02:15:50

This video gives overview of the entire course.

Preview 01:13

The template we are using in Unreal Engine 4 does not use a free roaming camera. We have to create one utilizing a Pawn class. We alsohave to integrate it into the GameMode.

Creating a New Pawn Class for Controlling the Camera

The Top Down Template comes with some key bindings, but we will add some more. Then we will implement controlling the camera's movement through the use of Input Axis Events, and finally we will test the camera setup.

Implementing Keyboard Controls through Key Bindings

Most games in the RTS genre allow their camera to zoom in on the action. We can implement this functionality by modifying the SpringArm's Target Length dynamically, using Action Mappings.

Implementing Camera Zoom

The TopDown Character Blueprint that came with the Top Down Template has a lot of what we need for an infantry unit, but it also has a lot of extra things we don't need.

Preview 11:15

Utilizing a Blueprint Interface, we will implement a unit's ability to be selected, and will also implement tracking, in the GameController about what units have been selected.

Implementing Selection of NPCs Using Mouse Input

We need to modify the Decal Material, and how it is used in the Infantry_CharBluepint so that it can be used as an indication to the player that a unit is selected.

Utilizing Material Instancing and Decals for User Interface (UI) Feedback of Mou

In this video we’ll be creating an AIController, and an Input Action, to allow us to begin programming movement for our infantry unit.

Creating an AIController and Input Action for Controlling NPC Movement

In this video we’re going to setup the User Interface for sending commands to our Infantry Units.

Implementing Responses to Mouse Input through Visual Feedback in UI

In this video, we will take advantage of Unreal Engine 4's powerful navigation and pathfinding system by utilizing the AIController class to direct Infantry Units to move to a specific location chosen by the player clicking in the game world.

Implementing Utilization of AIController to Have NPCs Path to a Desired Location

In this video, we’ll discuss several ways to begin modifying Navigation in your levels, including how to set Actors with collision interact with the Nav Mesh, reviewing Area Classes for Navigation, and how to use the Nav Modifier Volume.

Utilizing Navigation Settings on Actor'

In this video, we add some stairs and a platform to demonstrate how to use the Nav Mesh Bounds Volume to add verticality to our levels when using a navigation mesh.

Modifying Nav Mesh Data with Nav Mesh Bounds Volume

In this video, we will review how characters use the Navigation Mesh to determine where they can safely traverse a level. Then we will add custom paths into the Navigation System by using a Nav Link Proxy, and finally, we will link together several Nav Link Proxies to create complex custom paths.

Customizing Pathfinding with Nav Link Proxy

Test Your Knowledge
5 questions
Basics of Coding with Unreal Engine 4
13 Lectures 02:36:12

This video gives an overview of entire course.

Preview 03:37

Install the Unreal Engine 4.

Installing UE 4

Set up a code project based on the third-person template in Unreal Engine 4.

Setting Up Your First Project

Learn how to log information on the Output Log window of the Unreal Engine Editor from the c++ code base.

Logging in Unreal Engine 4

Learn how to create custom actors in Unreal Engine 4.

Creating Classes in Unreal Engine 4

Learn how to add properties that are editable and useable in Unreal Editor and Blueprint Editor.

Making Classes Editable

Learn how to add physical and visual representation to actors through components.

Actor and Component Classes

Learn to add functionality to custom actors and classes in Unreal Engine 4.

Implementing Actor Functionality

Learn how to spawn custom actors in the game world in Unreal Engine 4.

Spawning Actors

Learn about managed and unmanaged memory.

Managed Versus Unmanaged Memory

Learn how to use smart pointers to track objects in memory.

Tracking Objects in Memory

Learn about the UE4’s reflection system and Garbage Collection (GC) system.

Working with the Garbage Collection System in Unreal Engine 4

Learn to debug your code and use profilers in Microsoft Visual Studio.

Using Profilers and Debugging Your Code

Test Your Knowledge
5 questions
Mastering Unreal Engine 4.x Game Development
19 Lectures 02:32:52

This video will an overview of entire course 

Preview 08:04

During game development, a programmer may have difficulties finding assets for use within their project when on a budget. They may also need advice and guidance throughout the process. Luckily, there are a few resources for Unreal Engine developers to use.

Assets and Resources

There are many options to choose from when creating a project in Unreal Engine 4. Furthermore, navigating the generated code and setting up your IDE can be daunting. 

Project Setup

Perforce is the best source control solution available to an Unreal Engine 4 developer. Unfortunately, it can also be tricky to set up. But luckily, there are several tools available for setting it up in Unreal Engine 4.

Connecting to a Perforce Repository

Git is possibly the easiest and most accessible option when it comes to Source Control. Unfortunately, Unreal Engine 4’s support for Git is still rudimentary. But fortunately, with a little knowledge, implementing Git within a project is simple.

Connecting to a Git Repository

The online and included documentation provided for Unreal Engine’s C++ API can be quite daunting for a new developer. In this lesson, I point developers in the right direction and teach them how to navigate the API. 

Navigating the C++ API

Unreal Engine has a few practices and standards that should be known when working with C++. In this lesson, we explore these practices.

Unreal Engine C++ Workflow

Unreal Engine is a large framework with a strict hierarchy of class inheritance for accomplishing certain tasks. In this lesson, we explore the most common classes and data types you’ll be working with in Unreal Engine.

Unreal Engine Data Types

Unreal Engine is very macro heavy when it comes to working in C++. In this lesson, we explore the most common macros as well as their most used specifiers.

Common UE4 Macros

There are many ways to debug an Unreal Engine C++ project. Some require more time while some are more time efficient. We explore the various ways to debug projects in editor and also detail how to debug packaged applications. 

Debugging C++ Projects

Knowing how to work with Unreal Engine’s built-in physics engine is key to creating realistic interactions within your game. This lesson will introduce developers to enabling physics within C++.

Basic Physics

Often developers will need to customize the physical attributes of objects in their game to achieve the behaviour they want. This lesson will go into how to apply various physical materials to your objects to achieve this. 

Tuning Physics

Raycasting is one of the most utilized physics functions in 3D game development. This lesson will introduce developers to basic raycasting theory as well as show how to perform a simple raycast in Unreal Engine 4.

Basic Raycasting

Basic raycast behaviour is often not what developers need when utilizing raycasts. This lesson will go over how to customize object responses to raycasts, how to make raycasts that return multiple results, and also how to deal with the results returned.

Advanced Raycasting

Developers will often need to import pre-made assets provided to them by another Unreal Developer. Furthermore, creating levels in Unreal Engine can be a lengthy process. This lesson explains how to import animation and level assets into your project as well as gives an overview of the level provided.

Importing Assets + Level Overview

The most common type of object used to create characters in Unreal Engine is, fittingly, the ACharacter class. This lesson goes over creating a base character class which contains a camera and a mesh. 

Character Foundations

The most common control methods in video games today are the keyboard and mouse, alongside the traditional gamepad. This lesson explores how to enable character movement and camera control using these control schemes. 

Character Input

Animations and particle effects are heavily used in today’s 3D games to bring worlds to life. This lesson focuses on connecting our character’s mesh to various animations and adding particle effects to make actions feel more visceral. 

Character Animations and Particle Effects

3D platformers are known for their tight controls and well-tuned running and jumping mechanics. This lesson explores various ways of implementing genre standard mechanics in Unreal Engine.

Tuning Character Physics
Building an Unreal RTS Game: Adding Killer Features
13 Lectures 02:29:40

This video will an overview of entire course

Preview 01:23

We need a skeletal mesh for our Vehicle unit. Luckily, Unreal Engine 4 comes with several feature packs to get you started on pretty much anything.

Importing a Sedan Skeletal Mesh

We need to create a new Character Pawn for our Vehicle Unit. Most of the Vehicle's functionality is in common with the Infantry unit we created in the previous Volume. So we're going to make our Vehicle unit a subclass of our Infantry unit.

Creating a New Pawn Class for a Vehicle Unit

We want to limit where our Vehicle can take a path to in our game level. We can do this by utilizing a custom NavArea, with a custom Navigation Query Filter, and a custom AI Controller.

Implementing Movement and Selection for New Vehicle Unit Pawn Class

In order for our Vehicle Unit to attack, we need to create a projectile for it to fire; in this case, it will be a grenade.

Creating and Implementing an Actor Blueprint of a Grenade Weapon Projectile

We need a way to control when our vehicle units are attacking, so we need to create a user interface.

Creating and Implementing a User Interface to Launch a Grenade

We need to update our unit's Blueprint Interface to include a method for Attacking, and then we'll implement the new Attack method in the Vehicle Character Blueprint.

Implementing Launching a Grenade Projectile Blueprint from a Vehicle NPC

To begin creating a destructible environment for our game, we need to create a Destructible Mesh.

Creating a Destructible Mesh

In order for our Destructible Mesh to affect the Navigation System's NavMesh, we need to create a Blueprint to house the Destructible Mesh.

Creating a Blueprint for Destructible Environment

We need to update our unit's Blueprint Interface to include a method for Attacking, and then we'll implement the new Attack method in the Vehicle Character Blueprint.

Implementing Having the Destructible Environment Affect NavMesh During Gameplay

In this video, we need to add a few buttons and some text to our User Interface (UI) to allow players to have a better control over and a better indication of unit selection.

Laying Out an RTS-Style UI Using UMG

In this video, we'll add functionality to the Player Controller and make it available to our UMG UI.

Scripting a UMG UI to Control Selecting and Deselecting NPC Units

In this video, we'll be using UMG's Animation system to add visual flourish to our UI.

Adding Visual Flourish to UMG UI Using UMG Animations
About the Instructor
Packt Publishing
3.9 Average rating
8,109 Reviews
58,360 Students
686 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.