Unreal Engine 4 Mastery: Create Multiplayer Games with C++
4.5 (4,846 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.
28,661 students enrolled

Unreal Engine 4 Mastery: Create Multiplayer Games with C++

Unleash the power of C++ and Blueprint to develop Multiplayer Games with AI in this Epic Games-approved course.
4.5 (4,846 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.
28,661 students enrolled
Last updated 5/2020
English [Auto], Italian [Auto], 4 more
  • Polish [Auto]
  • Portuguese [Auto]
  • Simplified Chinese
  • Spanish [Auto]
Current price: $135.99 Original price: $194.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 17.5 hours on-demand video
  • 16 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
  • Discover the power of C++ to build games in Unreal Engine 4.
  • Master the fundamentals of C++ programming.
  • Build multiplayer games you can play with friends.
  • Master Unreal's Gameplay Framework to create any genre of games.
  • Create multiple types of Artificial Intelligence within Unreal Engine 4.
  • Write clear code that can be exposed, extended and modified by Blueprint.
Course content
Expand all 147 lectures 17:15:41
+ Introduction & Set Up
6 lectures 17:42

Thank you for purchasing my Udemy Course on C++ in Unreal Engine 4!

Preview 01:41

Before we start programming, we have a few things to set up.

Set Up

Installing Visual Studio 2017

Setup Visual Studio 2017 or 2019

Visual Assist is a Visual Studio plugin to help navigation and coding in C++.

Setup Visual Assist

Get the most out of this course, by knowing the difference between Activities and Challenges. Also, the source code for both projects is available via GitHub.

Preview 01:55

Quick and fun exercise where we add explosion particles to projectile bounce events in C++.

Preview 08:16
+ Stealth Game 1: Project Basics
9 lectures 56:03

Walkthrough the C++ FPS template project. Resource available in the lecture "Resources". Bare-bones project without Section 1 specific content is on GitHub.

Setup Template Project

Learn to create a C++ Class. What are Header files and cpp files, and the BeginPlay and Tick functions in Actors.

Create C++ Class

Learn to add ActorComponents to Actors in C++, expose variables to Blueprint and how to use #include to use other classes.

Preview 07:32

Learn how to setup collision channels on ActorComponents and how to react to overlap events in your Actor.

Setup Collision and Overlap Event

Learn how to 'Cast' C++ classes to different types and how to changes variables of one Actor in a different Actor.

Pickup Objective Actor

Learn to add UMG widget via HUD class for UI text display. Create GameMode to setup default game framework classes.

Setup Objective UI with UMG

Challenge! Build your own Actor that sucks up nearby simulated actors into itself like a black hole.

Challenge: Create a Black Hole

Walk-through of potential issues, compile errors and other problems you may run into and how to avoid them.

Bonus: Troubleshooting
+ Stealth Game 2: GameMode Rules
7 lectures 53:52

Learn to bind overlap events in C++ with OnComponentBeginOverlap and logging using UE_LOG macro.

Create Extraction Zone

Learn to use DecalComponent to mark the extraction zone with imported content assets available in the Lecture Downloads.

Polish Extraction Zone

Learn to disable input on Pawns and using GameMode to create a game over state that can be extended in Blueprint using the BlueprintImplementableEvent keyword.

Setup Mission End

Add UI feedback using Unreal's UMG to show the mission complete message.

Add Extraction Feedback

Introducing TSubclassOf for class assignment in C++ and Blueprint.

Setup Post-mission Camera

Use your newly learned skills and concepts to build a launch pad that fires away players and other Actors on the map!

Challenge: Create a Launch Pad
+ Stealth Game 3: AI Guards
9 lectures 01:08:14

We build the core of our AI agent with PawnSensingComponent to setup senses like sight and hearing.

Create AI Guard Class

Learn how to setup sight in the pawn sensing component for your AI Guard.

Setup Sight Sense

Learn how to setup hearing sense in the pawn sensing component for your AI Guard.

Setup Hearing Sense

With PawnSensing and MakeNoise we distract the guard when a projectile bounces.

Add Noise making to Projectile
Setup Guard Distraction
Add game-over trigger when spotted

With UMG (Unreal Motion Graphics) we add feedback on the AI's current state to the player.

Add 3D UI state above Guard

Challenge! Move the guard around using the available MoveTo logic and have AI patrol between two locations.

Challenge: Setup AI Guard Patrol
+ Stealth Game 4: Multiplayer Support
10 lectures 01:20:19

Play the game and see the current state of the game in multiplayer. Expect lots of things to not work yet!

Prepare the Mission

Learn how to network the project with Unreal's replication system.

Network the Projectile
Network Player View Pitch
Network the Objective Actor
Network the AI Guards

Continuing making the game multiplayer ready by replicating which player is carrying the objective, 

Network the Game State Part 1

Create a GameState class to send information from server to all clients on game changes, for example when mission ends we can DisableInput on all clients.

Network the Game State Part 2

Create PlayerController class to handle UI events (like showing the 'mission complete' text). Also making sure all clients set the post-mission camera location after the mission ends.

Network the Game State Part 3

Activity to play with a friend to test our your newly created multiplayer game!

Activity: Play with a friend!
+ Coop Game 1: Introduction & Player Setup
11 lectures 55:25

Create Blank C++ Project via Epic Games Launcher.

Create C++ Project

Create new C++ class to act as our player.

Create The Player Class

Bind keyboard input to a function, and set up input bindings via Project Settings. Create and add Player Blueprint to the level with Auto Possess.

Add Movement Input

Bind mouse input to a function, set up input binding via Project Settings.

Add Mouse Look

Forward declaring classes, add header include, add Camera to the player, expose C++ components to Blueprint.

Third Person Camera Part 1

Run console commands (~ Tilde) to visualize collision. Use SpringArmComponent for third person camera collision and movement.

Third Person Camera Part 2

Import animation content from Marketplace and set up skeletal mesh in Blueprint.

Add Player Mesh

Add crouching to player and key bindings using built-in Crouch code.

Add Crouch

Use Marketplace 'Animation Starter Pack' to setup player animations. Customize pack's Animation Blueprint for our specific needs.

Add Character Animations

Challenge video! Use Unreal's Jump logic to make your character jump, as a bonus you can try to link this with the animation blueprint.

Challenge: Setup Player Jump
+ Coop Game 2: Weapon Basics
11 lectures 01:23:04

Create C++ Weapon class to be equipped by characters.

Create Weapon Class

Import weapon SkeletalMesh, and assign in Blueprint

Import Weapon Mesh

Setup line-tracing when weapon Fire function is triggered and checking our results for an Actor to damage.

Line Tracing Part 1

Update line trace to use camera view point instead of default pawn eye height.

Line Tracing Part 2

Use of the fire logic, to apply damage to other actors.

Preview 06:06

Creating a target dummy actor that responds to damage to test our code.

Create a Target Dummy

Add Muzzleflash and impact particle effects to the weapon and using sockets to attach the effects to a mesh.

Add Muzzle and Impact Effects

Create a smoke beam particle effect to visualize the bullet trail.

Create Smoke Beam Effect

Using UMG to draw a simple crosshair on screen.

Add Simple Crosshair

Challenge Lecture! You will put your knowledge on spawning actors, using ProjectileMovementComponent, and inheritance to use to create your own projectile weapon.

Challenge: Create your own Grenade Launcher
+ Coop Game 3: Weapon Extras
11 lectures 01:05:00
Add Aiming Down Sights
Create Debug Console Variables
Polish Weapon Code
Shake Camera While Firing
Setup Custom Surface Types
Add Multiple Hit Effect Types
Add Custom Collision Channel
Apply Headshot Bonus Damage
Setup Automatic Fire

Activity to brainstorm your own extra weapon feature such as bullet spread or weapon charge-up mechanic. Take some time to experiment and try to code it on your own.

Activity: Design and code your own weapon feature
+ Coop Game 4: Hitpoints and Death
8 lectures 48:25

Learn how to create your own ActorComponent in C++.

Create Health Component

Learn how to bind to delegates and events in C++.  And logging debug output to track how and when code is running.

Handle Damage Events

Learn how to declare a custom C++ delegate (aka event) using a macro and implement it in the health component.

Add Custom Event

Learn to play animation in Animation Blueprint based on C++ variables when a character dies from damage.

Add Death Animation

Learn how to create materials to use in UMG Widgets and how to set parameters in materials from C++ to change the look of the material at runtime.

Create 'Gears of War'-style Health Indicator Material
Create Health Widget in UMG

Challenge video! Create the classic red explosive barrel in Unreal Engine. We will use this challenge result in the next section to make it work in multiplayer too!

Challenge: Create an Explosive Barrel
+ Coop Game 5: Game Networking
8 lectures 58:32
Play the Game in Multiplayer

Learn about "Role" and how to use ROLE_Authority to run pieces of code only on the server or client.

Replicate Weapon Code Part 1

Learn how to make 'Server'-functions that run code on the host if called by a connected client. (Other Keywords: Reliable, WithValidation)

Replicate Weapon Code Part 2

Create a struct to replicate multiple variables to clients with rep notify (aka ReplicatedUsing). Learn how to use DOREPLIFETIME_CONDITION to optimise networking by sending variables only to specified clients.

Replicate Weapon Code Part 3

Playing particle and sound effects on the clients and server using ReplicatedUsing (aka "RepNotify"). Learn about Unreal's adaptive net update frequency using NetUpdateFrequency and MinNetUpdateFrequency.

Replicate Weapon Code Part 4

Replicating ActorComponent with GetOwnerRole() to limit where code is running, for example only on the authoritative server to handle damage.

Replicate Health & Death

Challenge video! Use the results from the previous section where we built an explosive barrel and make it simulate on both client and server.

Challenge: Replicate the Explosive Barrel
  • You have a basic understanding of programming in any object-oriented programming language such as C#, Java, Python, or C++ or a decent understanding of scripting in Unreal’s Blueprints.
  • You have Unreal Engine installed (4.17 or newer) and understand the basics of the Editor.

Approved by Epic Games and taught by former Epic Games engineer, Tom Looman, this course teaches you how to use C++ to build your own games including artificial intelligence in Unreal Engine 4.

If you have a bit of programming know-how from other coding languages but are new to C++ game development, then this course is for you! Unreal Engine 4 Mastery is also a great fit for current developers who have previous experience with Unity3D or other game engines. Unleash the full power of the Unreal Engine by taking this step-by-step guide.

In this course, you will:

  • Create two multiplayer-ready games in C++

  • Create multiple types of AI enemies

  • Expose C++ code to Blueprint to unlock the full power of the engine

  • Discover the fundamental classes required to build games

  • Code many common gameplay mechanics like weapons, power-ups, characters, guards, and more

  • Challenge yourself with fun activities that further test your programming knowledge

  • Discover many tricks and features in C++ to get the most out of Unreal Engine

  • Master the fundamentals to build your own dream game

You’ll go hands-on immediately and dive straight into completing over 14 challenges and two game projects. You’ll start by creating a first-person stealth game, where you’ll learn the basics of C++, AI, and networking. Then you’ll build a third-person cooperative shooter game, in the likes of Gears of War or Fortnite. In this project, you’ll expand your learning of C++, make the game fully multiplayer-ready, and create fun artificial intelligence to play against with friends.

This course is also packed with challenges where you’ll build a grenade launcher, a black hole that sucks in the fabric of space, and a launchpad that bounces players and objects around–just to name a few! Through these activities, you’ll explore the engine’s code, improve your problem-solving capabilities, and take your games to the next level.

By the end of the course, you can use your knowledge of C++ and Blueprints to build your own dream games. You can use the games built during this course for your personal projects moving forward, as you add more advanced features. Even if you thought C++ was difficult or intimidating before taking this course, you will learn how easy it is to code C++ within Unreal Engine 4 once you go through these lectures. Even if you are only interested in single-player type games, this course will be a great fit as it teaches many other concepts besides programming for multiplayer games.

Why Learn From Me

In this course you will learn more than just programming in Unreal Engine 4. You will actually follow the ‘Unreal Way’ of making games in this Epic Games-approved course. Start off on the right foot and write effective C++ code using methods the engine creators have used themselves! I have been working with Unreal Engine 4 and creating game development tutorials since day one. Through this partnership with Epic Games, you will gain the skills to create stunning new projects and advance your professional aspirations in game development.

Join me in this course and start building awesome games in C++ today!

Note: Now includes hand-made Chinese subtitles for all lectures! 本课程的所有讲座都将包括中文字幕。

Who this course is for:
  • People who have tried C++ with Unreal before but could not find the right tutorial to support their hands-on learning style. This course offers step-by-step guidance and lots of activities so you can master making games with C++.
  • Developers from Unity3D and other engines looking to dive into Unreal Engine 4 programming.
  • People with prior programming experience who want to make multiplayer games and create artificial intelligence in Unreal Engine 4.
  • If you have never touched a programming language before this course may not be for you. However, proficiency in Unreal’s Blueprint visual scripting also counts as a valid foundation for this course as it shares the same concepts as languages like C++.
  • If you are an artist who wants to bring your ideas to life in a game, a Blueprint-focused course might be a better fit for you. Skim the course curriculum to see if you’re interested in using the power of C++, networking, and AI programming to build out the technical structure of your game.