Course Overview
Learn Unreal Engine 5 C++ Programming by Creating an Action-RPG Style Open World Game!
This course will take you from beginner to hero as we create everything in this course project from scratch. Learn Unreal Engine 5's new features from Open World maps, Quixel Bridge megascans for ultra-realistic environments, landscape sculpting and painting, dungeons, free-roaming creatures and humanoids with various weapons, breakable objects that spawn treasure, and more!
Slay your way through your open world level, hacking and slashing creatures, breaking pots and collecting treasure and souls, and try to keep your health and stamina high!
We will implement enemy behavior that can be reused for various creature types, including gruntlings, raptors, insects, and golems. Code your character to be able to pick up and equip better and better weapons as she slays stronger and stronger monsters and collects loot.
We will cover new Unreal Engine 5 features such as Motion Warping, Meta Sounds, Linked Anim Graphs, UE5's new retargeting system with IK Rigs and IK Retargeters, Leg IK with Control Rigs, visual effect creation in Niagara, and more!
We'll start with a completely empty level and add everything from sky and atmosphere, nature, trees and plants, and we'll even import an entire dungeon level with the use of UE5's new Packed Level Instance feature.
We will cover vectors and game development mathematics in a full math section to prepare you for gameplay programming before diving in and creating our first C++ class.
We will then learn Unreal Engine's class hierarchy, creating a basic Actor, learning about trigonometry as we use the sine function to give our items floating behavior.
We then create a Bird using the Pawn class so we can fly around our level and get a literal bird's-eye view.
We then create our Character class, using Echo from the Valley of the Ancient Epic-released free project, a beautiful and lifelike humanoid with cloth physics on her scarf and garments.
We implement weapon equipping and combat. We learn how to calculate directional hit reactions, using root motion animations to make our enemies stumble in the correct direction based on the direction of impact.
We give our enemies patrolling behavior, then chasing and attacking behavior. We make our enemies smarter with the use of UE5's new Motion Warping system, warping our enemy's location and rotation to make it hit the target more frequently, and making it harder to move out of harm's way.
We then give Echo a fighting chance, by implementing a dodge ability, similar to Dark Souls and Elden Ring. She can dodge out of the way while the enemy swings fervently, making them miss so we can move in to counter-attack.
We make breakable pots and vases using the Chaos destruction system, and these breakables spawn treasure when we break them, allowing us to collect loot and increment our gold count in the HUD.
We create a beautiful Soul effect in Niagara, and make enemies spawn souls upon death so we can gain experience points.
We learn how to make enemies stronger with an Attribute component, giving them varying levels of health and damage, and soul spawn counts.
We use UE5's new Animation Blueprint Templates to reuse all of our enemy code to create different types of enemies, from humanoids that wield weapons to creatures that bite, sting, and smash.
Get your RPG project started with this amazing course, which is the product of nearly a decade of professional Unreal Engine experience and teaching.
This course is in a whole new universe than the original UE4 version I created four years ago! Benefit from years of learning, teaching, and implementing Unreal's newly evolved system with its cutting-edge game creation capabilities!
This is my most well-taught course yet, and by far the most beautiful game project of all my courses on Udemy thus far.
Join me and let's have a ton of fun creating the start of an action RPG hack-and-slash Open World game in Unreal Engine 5!
FAQ
FAQ area empty
Course curriculum
-
Introduction
Xem trước -
How to Get Help
Xem trước -
Installing Unreal Engine 5
Xem trước -
The Level Editor Viewport
Xem trước -
View Modes
Xem trước -
Object Manipulation
Xem trước -
Panels
Xem trước -
Section 1 Challenge
Xem trước -
Introduction
Xem trước -
How to Get Help
Xem trước -
Installing Unreal Engine 5
Xem trước -
The Level Editor Viewport
Xem trước -
View Modes
Xem trước -
Object Manipulation
Xem trước -
Panels
Xem trước -
Section 1 Challenge
Xem trước
-
Quixel Bridge
Xem trước -
Open World
Xem trước -
Lighting and Atmosphere
Xem trước -
Landscape
Xem trước -
Where is my Landscape?
Xem trước -
11 - Landscape Material
Xem trước -
Landscape Layer Painting in 5.7
Xem trước -
Landscape Painting
Xem trước -
Foliage Painting
Xem trước -
More Foliage Painting
Xem trước -
Post Process Volume
Xem trước -
Forest Polish Up
Xem trước -
Packed Level Actors
Xem trước -
Mountains
Xem trước -
Level Instances
Xem trước -
Section 2 Challenge
Xem trước -
Quixel Bridge
Xem trước -
Open World
Xem trước -
Lighting and Atmosphere
Xem trước -
Landscape
Xem trước -
Where is my Landscape?
Xem trước -
11 - Landscape Material
Xem trước -
Landscape Layer Painting in 5.7
Xem trước -
Landscape Painting
Xem trước -
Foliage Painting
Xem trước -
More Foliage Painting
Xem trước -
Post Process Volume
Xem trước -
Forest Polish Up
Xem trước -
Packed Level Actors
Xem trước -
Mountains
Xem trước -
Level Instances
Xem trước -
Section 2 Challenge
Xem trước
-
Coordinates
Xem trước -
Vectors
Xem trước -
Vector Examples
Xem trước -
Vector Operations
Xem trước -
Vector Operations Examples
Xem trước -
Vector Magnitude
Xem trước -
Vector Magnitude Examples
Xem trước -
Vector Normalization
Xem trước -
Rotators
Xem trước -
Section 3 Challenge
Xem trước -
Coordinates
Xem trước -
Vectors
Xem trước -
Vector Examples
Xem trước -
Vector Operations
Xem trước -
Vector Operations Examples
Xem trước -
Vector Magnitude
Xem trước -
Vector Magnitude Examples
Xem trước -
Vector Normalization
Xem trước -
Rotators
Xem trước -
Section 3 Challenge
Xem trước
-
Integrated Development Environment (IDE)
Xem trước -
Setting up Visual Studio
Xem trước -
C++ Refresher
Xem trước -
Reflection and Garbage Collection
Xem trước -
Section 4 Challenge
Xem trước -
Integrated Development Environment (IDE)
Xem trước -
Setting up Visual Studio
Xem trước -
C++ Refresher
Xem trước -
Reflection and Garbage Collection
Xem trước -
Section 4 Challenge
Xem trước
-
Actor Creation
Xem trước -
Blueprint Creation
Xem trước -
Onscreen Debug Messages
Xem trước -
How to Properly Compile
Xem trước -
Formatting Strings
Xem trước -
Drawing Debug Spheres
Xem trước -
Drawing Debug Lines
Xem trước -
Drawing Debug Points
Xem trước -
Custom Header Files
Xem trước -
Section 5 Challenge
Xem trước -
Actor Creation
Xem trước -
Blueprint Creation
Xem trước -
Onscreen Debug Messages
Xem trước -
How to Properly Compile
Xem trước -
Formatting Strings
Xem trước -
Drawing Debug Spheres
Xem trước -
Drawing Debug Lines
Xem trước -
Drawing Debug Points
Xem trước -
Custom Header Files
Xem trước -
Section 5 Challenge
Xem trước
-
SetActorLocation
Xem trước -
SetActorRotation
Xem trước -
Actor World Offset
Xem trước -
Trig Functions
Xem trước -
The Sine Function
Xem trước -
Exposing Variables to Blueprint
Xem trước -
Visible But Not Editable
Xem trước -
Exposing Variables to the Event Graph
Xem trước -
Exposing Functions to Blueprint
Xem trước -
Template Functions
Xem trước -
Components
Xem trước -
Components in C++
Xem trước -
Section 6 Challenge
Xem trước -
SetActorLocation
Xem trước -
SetActorRotation
Xem trước -
Actor World Offset
Xem trước -
Trig Functions
Xem trước -
The Sine Function
Xem trước -
Exposing Variables to Blueprint
Xem trước -
Visible But Not Editable
Xem trước -
Exposing Variables to the Event Graph
Xem trước -
Exposing Functions to Blueprint
Xem trước -
Template Functions
Xem trước -
Components
Xem trước -
Components in C++
Xem trước -
Section 6 Challenge
Xem trước
-
The Pawn Class
Xem trước -
Capsule Component
Xem trước -
Forward Declaration
Xem trước -
Skeletal Mesh Components
Xem trước -
Binding Inputs
Xem trước -
Adding Movement Input
Xem trước -
Camera and Spring Arm
Xem trước -
Adding Controller Input
Xem trước -
Setting the Default Pawn
Xem trước -
Section 7 Challenge
Xem trước -
The Pawn Class
Xem trước -
Capsule Component
Xem trước -
Forward Declaration
Xem trước -
Skeletal Mesh Components
Xem trước -
Binding Inputs
Xem trước -
Adding Movement Input
Xem trước -
Camera and Spring Arm
Xem trước -
Adding Controller Input
Xem trước -
Setting the Default Pawn
Xem trước -
Section 7 Challenge
Xem trước
-
The Character Class
Xem trước -
Character Inputs
Xem trước -
Character Camera and SpringArm
Xem trước -
The Rotation Matrix
Xem trước -
Controller Directions
Xem trước -
Hair and Eyebrows
Xem trước -
Custom Hair Color
Xem trước -
Section 8 Challenge
Xem trước -
The Character Class
Xem trước -
Character Inputs
Xem trước -
Character Camera and SpringArm
Xem trước -
The Rotation Matrix
Xem trước -
Controller Directions
Xem trước -
Hair and Eyebrows
Xem trước -
Custom Hair Color
Xem trước -
Section 8 Challenge
Xem trước
-
The Animation Blueprint
Xem trước -
The Anim Instance
Xem trước -
Jumping
Xem trước -
Jump Animations
Xem trước -
Inverse Kinematics
Xem trước -
Section 9 Challenge
Xem trước -
The Animation Blueprint
Xem trước -
The Anim Instance
Xem trước -
Jumping
Xem trước -
Jump Animations
Xem trước -
Inverse Kinematics
Xem trước -
Section 9 Challenge
Xem trước
-
Collision Presets
Xem trước -
Overlap Events
Xem trước -
Delegates
Xem trước -
On Component Begin Overlap
Xem trước -
On Component End Overlap
Xem trước -
Section 10 Challenge
Xem trước -
Collision Presets
Xem trước -
Overlap Events
Xem trước -
Delegates
Xem trước -
On Component Begin Overlap
Xem trước -
On Component End Overlap
Xem trước -
Section 10 Challenge
Xem trước
-
The Weapon Class
Xem trước -
Sockets
Xem trước -
Downloading Animations
Xem trước -
IK Rig
Xem trước -
IK Retargeter
Xem trước -
Attaching the Sword
Xem trước -
Picking Up Items
Xem trước -
Enum for Character State
Xem trước -
Switching Animation Poses
Xem trước -
Equipped Animations
Xem trước -
Multiple Animation Blueprints
Xem trước -
Section 11 Challenge
Xem trước -
The Weapon Class
Xem trước -
Sockets
Xem trước -
Downloading Animations
Xem trước -
IK Rig
Xem trước -
IK Retargeter
Xem trước -
Attaching the Sword
Xem trước -
Picking Up Items
Xem trước -
Enum for Character State
Xem trước -
Switching Animation Poses
Xem trước -
Equipped Animations
Xem trước -
Multiple Animation Blueprints
Xem trước -
Section 11 Challenge
Xem trước
-
Animation Montages
Xem trước -
Playing Montages from C++
Xem trước -
Attacking State
Xem trước -
Resetting the Action State
Xem trước -
Item State
Xem trước -
Sound Notifies and Meta Sounds
Xem trước -
Meta Sounds for Footsteps
Xem trước -
Fixing Foot Placement
Xem trước -
Putting the Sword Away
Xem trước -
Playing Arm and Disarm Animations
Xem trước -
Attaching the Sword to the Back
Xem trước -
Equip and Unequip Sounds
Xem trước -
Editing Animations
Xem trước -
Section 12 Challenge: Option A
Xem trước -
Section 12 Challenge: Option B
Xem trước -
Animation Montages
Xem trước -
Playing Montages from C++
Xem trước -
Attacking State
Xem trước -
Resetting the Action State
Xem trước -
Item State
Xem trước -
Sound Notifies and Meta Sounds
Xem trước -
Meta Sounds for Footsteps
Xem trước -
Fixing Foot Placement
Xem trước -
Putting the Sword Away
Xem trước -
Playing Arm and Disarm Animations
Xem trước -
Attaching the Sword to the Back
Xem trước -
Equip and Unequip Sounds
Xem trước -
Editing Animations
Xem trước -
Section 12 Challenge: Option A
Xem trước -
Section 12 Challenge: Option B
Xem trước
-
Collision Box
Xem trước -
Tracing
Xem trước -
Box Trace in C++
Xem trước -
Dynamic Arrays
Xem trước -
Disabling Weapon Box Collision
Xem trước -
Unreal Interfaces
Xem trước -
Enemies
Xem trước -
Root Motion Animations
Xem trước -
Implementing Interfaces
Xem trước -
Hit React Montage
Xem trước -
Playing the Hit React Montage
Xem trước -
Dot Product
Xem trước -
Cross Product
Xem trước -
Directional Hit Reactions
Xem trước -
One Hit Per Swing
Xem trước -
Hit Sounds
Xem trước -
Hit Particles
Xem trước -
Weapon Trails
Xem trước -
Section 13 Challenge
Xem trước -
Collision Box
Xem trước -
Tracing
Xem trước -
Box Trace in C++
Xem trước -
Dynamic Arrays
Xem trước -
Disabling Weapon Box Collision
Xem trước -
Unreal Interfaces
Xem trước -
Enemies
Xem trước -
Root Motion Animations
Xem trước -
Implementing Interfaces
Xem trước -
Hit React Montage
Xem trước -
Playing the Hit React Montage
Xem trước -
Dot Product
Xem trước -
Cross Product
Xem trước -
Directional Hit Reactions
Xem trước -
One Hit Per Swing
Xem trước -
Hit Sounds
Xem trước -
Hit Particles
Xem trước -
Weapon Trails
Xem trước -
Section 13 Challenge
Xem trước
-
Destructible Meshes
Xem trước -
Field System Actors
Xem trước -
Creating Fields with Weapons
Xem trước -
Breakable Actor
Xem trước -
Blueprint Native Event
Xem trước -
Breaking Sounds
Xem trước -
Section 14 Challenge
Xem trước -
Destructible Meshes
Xem trước -
Field System Actors
Xem trước -
Creating Fields with Weapons
Xem trước -
Breakable Actor
Xem trước -
Blueprint Native Event
Xem trước -
Breaking Sounds
Xem trước -
Section 14 Challenge
Xem trước
-
Treasure
Xem trước -
Spawning Actors
Xem trước -
Spawning Actors from C++
Xem trước -
Different Types of Treasure
Xem trước -
Different Types of Breakables
Xem trước -
Niagara Effects
Xem trước -
Niagara Components
Xem trước -
Section 15 Challenge
Xem trước -
Treasure
Xem trước -
Spawning Actors
Xem trước -
Spawning Actors from C++
Xem trước -
Different Types of Treasure
Xem trước -
Different Types of Breakables
Xem trước -
Niagara Effects
Xem trước -
Niagara Components
Xem trước -
Section 15 Challenge
Xem trước
-
Actor Components
Xem trước -
Widget Components
Xem trước -
User Widget Class
Xem trước -
Setting the Health Percent
Xem trước -
Damage
Xem trước -
Custom Health Bars
Xem trước -
Enemy Death Animations
Xem trước -
Enemy Death
Xem trước -
Death Poses
Xem trước -
Polishing Enemy Death
Xem trước -
Section 16 Challenge
Xem trước -
Actor Components
Xem trước -
Widget Components
Xem trước -
User Widget Class
Xem trước -
Setting the Health Percent
Xem trước -
Damage
Xem trước -
Custom Health Bars
Xem trước -
Enemy Death Animations
Xem trước -
Enemy Death
Xem trước -
Death Poses
Xem trước -
Polishing Enemy Death
Xem trước -
Section 16 Challenge
Xem trước
-
Making Enemies Move
Xem trước -
Enemy Movement Anims
Xem trước -
Blendspaces
Xem trước -
Patrol Targets
Xem trước -
Selecting Patrol Targets
Xem trước -
Patrol Wait Time
Xem trước -
Pawn Sensing Component
Xem trước -
Enemy States
Xem trước -
Enemies Losing Interest
Xem trước -
Attack Radius
Xem trước -
Agro When Hit
Xem trước -
Weapon Alterations
Xem trước -
Section 17 Challenge
Xem trước -
Making Enemies Move
Xem trước -
Enemy Movement Anims
Xem trước -
Blendspaces
Xem trước -
Patrol Targets
Xem trước -
Selecting Patrol Targets
Xem trước -
Patrol Wait Time
Xem trước -
Pawn Sensing Component
Xem trước -
Enemy States
Xem trước -
Enemies Losing Interest
Xem trước -
Attack Radius
Xem trước -
Agro When Hit
Xem trước -
Weapon Alterations
Xem trước -
Section 17 Challenge
Xem trước
-
Using Inheritance
Xem trước -
Enemy Base Blueprint
Xem trước -
Enemy Weapon
Xem trước -
Enemy Attack Montage
Xem trước -
Enemy Attack Timer
Xem trước -
Refactoring Montage Functions
Xem trước -
Engaged State
Xem trước -
Finishing Refactoring
Xem trước -
Hitting the Character
Xem trước -
Section 18 Challenge
Xem trước -
Using Inheritance
Xem trước -
Enemy Base Blueprint
Xem trước -
Enemy Weapon
Xem trước -
Enemy Attack Montage
Xem trước -
Enemy Attack Timer
Xem trước -
Refactoring Montage Functions
Xem trước -
Engaged State
Xem trước -
Finishing Refactoring
Xem trước -
Hitting the Character
Xem trước -
Section 18 Challenge
Xem trước
-
IK Rig for the Paladin
Xem trước -
Echo Hit React Montage
Xem trước -
Echo Gets Hit
Xem trước -
Hit Reaction State
Xem trước -
Improving Directional Hit React
Xem trước -
Root Motion Attacks
Xem trước -
Motion Warping
Xem trước -
Fixing Warp Targets
Xem trước -
Section 19 Challenge
Xem trước -
IK Rig for the Paladin
Xem trước -
Echo Hit React Montage
Xem trước -
Echo Gets Hit
Xem trước -
Hit Reaction State
Xem trước -
Improving Directional Hit React
Xem trước -
Root Motion Attacks
Xem trước -
Motion Warping
Xem trước -
Fixing Warp Targets
Xem trước -
Section 19 Challenge
Xem trước
-
Echo's Health
Xem trước -
Echo Health Bar
Xem trước -
Slash Overlay
Xem trước -
SlashHUD
Xem trước -
Setting the HUD from C++
Xem trước -
Updating HUD Health
Xem trước -
Echo's Death Montage
Xem trước -
Playing Echo's Death Montage
Xem trước -
Stop Enemy Attacks
Xem trước -
Section 20 Challenge
Xem trước -
Echo's Health
Xem trước -
Echo Health Bar
Xem trước -
Slash Overlay
Xem trước -
SlashHUD
Xem trước -
Setting the HUD from C++
Xem trước -
Updating HUD Health
Xem trước -
Echo's Death Montage
Xem trước -
Playing Echo's Death Montage
Xem trước -
Stop Enemy Attacks
Xem trước -
Section 20 Challenge
Xem trước
-
Souls Niagara System
Xem trước -
Soul Class
Xem trước -
Pickup Interface
Xem trước -
Soul Pickup Effects
Xem trước -
Soul and Gold Attributes
Xem trước -
Enemies Spawning Souls
Xem trước -
Dodge Animation
Xem trước -
Dodge Montage
Xem trước -
Stamina
Xem trước -
Section 21 Challenge
Xem trước -
Souls Niagara System
Xem trước -
Soul Class
Xem trước -
Pickup Interface
Xem trước -
Soul Pickup Effects
Xem trước -
Soul and Gold Attributes
Xem trước -
Enemies Spawning Souls
Xem trước -
Dodge Animation
Xem trước -
Dodge Montage
Xem trước -
Stamina
Xem trước -
Section 21 Challenge
Xem trước
-
Animation Blueprint Templates
Xem trước -
Raptor
Xem trước -
Raptor Attacks
Xem trước -
Raptor Attack Montage
Xem trước -
Raptor Hit React
Xem trước -
Raptor Sound Effects
Xem trước -
Insect
Xem trước -
Soul Drift
Xem trước -
Assignment - New Enemies
Xem trước -
Section 21 Challenge
Xem trước -
My Level and Course Conclusion
Xem trước -
Animation Blueprint Templates
Xem trước -
Raptor
Xem trước -
Raptor Attacks
Xem trước -
Raptor Attack Montage
Xem trước -
Raptor Hit React
Xem trước -
Raptor Sound Effects
Xem trước -
Insect
Xem trước -
Soul Drift
Xem trước -
Assignment - New Enemies
Xem trước -
Section 21 Challenge
Xem trước -
My Level and Course Conclusion
Xem trước
Requirment
-
Understanding of the basics of the C++ programming language or a similar language. If you took my course: Learn C++ for Game Development, you're good!
Outcomes
-
How to code games in Unreal Engine 5
-
An RPG action game with a third-person character
-
Combat with swords and other melee weapons
-
Creation of enemies that attack the player
-
Health bars and player stats
-
Unreal Engine 5's Open World system
-
Level design and creation of realistic scenes with Quixel Megascans
-
Motion Warping, Unreal Engine 5's new system for customized root motion animations
-
Particle effects like blood splatter and weapon trails
-
Unreal Engine 5's new MetaSounds system and high-quality sounds in game
-
Best coding practices for coding games in Unreal Engine 5
-
Use of data structures and algorithms for games
-
Design patterns used in Unreal Engine
-
Creation of multiple types of enemies, from humanoids wielding weapons to monsters and other creatures
-
Importing entire dungeon levels into our Open World map with Packed Level Instances
Instructor
Nguyễn Đình Cường
1.2
-
1 Student
-
330 Courses
-
1253 reviews
Xin chào các bạn, tôi là Nguyễn Đình Cường, một lập trình viên và giảng viên đam mê công nghệ với hơn 15 năm kinh nghiệm trong ngành công nghiệp phần mềm. Tôi tốt nghiệp từ Bưu Chính Viễn Thông và đã từng làm việc cho một số công ty công nghệ hàng đầu như FPT Software và VinGroup. Với chuyên môn chính là phát triển ứng dụng web, tôi đã làm việc với nhiều công nghệ như HTML, CSS, JavaScript, React cho front-end và Node.js, Express, MongoDB cho back-end. Không chỉ dừng lại ở việc viết mã, tôi còn yêu thích tìm hiểu sâu về thiết kế hệ thống và kiến trúc phần mềm. Tôi tin rằng quá trình học lập trình không chỉ đơn thuần là lý thuyết, mà còn là sự trải nghiệm thực tế và giải quyết vấn đề. Trong các khóa học của mình, tôi cố gắng cung cấp cho học viên những bài giảng thú vị và dễ hiểu, cùng với các bài tập thực hành giúp củng cố kiến thức. Tôi hy vọng rằng qua các khóa học của mình, bạn sẽ không chỉ học được cách viết mã, mà còn phát triển tư duy lập trình và kỹ năng giải quyết vấn đề. Hãy cùng nhau khám phá thế giới lập trình và biến ý tưởng của bạn thành hiện thực! Nếu bạn có bất kỳ câu hỏi nào, đừng ngần ngại liên hệ với tôi. Tôi rất vui được hỗ trợ bạn trong hành trình học tập của mình!
View Details