We may earn an affiliate commission when you visit our partners.
Course image
Stephen Ulibarri

Learn Unreal Engine 5 C++ Programming by Creating an Action-RPG Style Open World Game.

Read more

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.

Enroll now

What's inside

Learning objectives

  • 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
  • Show more
  • Show less

Syllabus

Install the Engine and learn how to maneuver throughout the Viewport
Introduction

We cover the various resources and ways to get help for this course, as well as the Druid Mechanics Discord community, a place where you can get to know other students and discuss issues related to this course!

Read more

We install the Epic Games Launcher and the latest version of Unreal Engine 5

We look at the Level Editor Viewport and learn how to maneuver throughout the world

We learn how to look at our world in different ways

We learn how to select and manipulate objects in our world

We learn about the Outliner, Details, Content Browser, and Place Actors Panels in the Level Editor

We are challenged to test what we've learned in this section and share it with the community!

We create an Open World level and add a terrain with foliage and high-quality assets from Quixel Bridge

We enable Quixel Bridge to access countless free megascans to build a realistic world

We discuss the new Open World feature in Unreal Engine 5 and how it works

We learn about the different types of objects associated with a scene's lighting and atmosphere

We create a landscape and learn how to shape and sculpt it

We learn how to combine multiple surfaces into a single Landscape Material and switch between layers

We paint our landscape using the various layers in our Landscape Material

We learn how to paint foliage onto our landscape

We add more foliage and paint bushes, shrubs and even trees onto the landscape

We create a Post Process Volume to fine-tune the appearance of our scene

We add the finishing touches to the forest, including more grass and rocks, sticks and branches

If You Get This Popup While Migrating...

We learn how to pack geometry into small levels and instance them into the scene

We add mountains and use groups of rocks to create Packed Level Actors

We learn how to instance entire levels and bring in a dungeon from the marketplace into our world

We are challenged to place bookmarks and take high-resolution screenshots of our levels and share them with the community!

Understand Vectors, Rotators, and basic Trigonometry

We discuss how locations in space can be represented by coordinates

We discuss the mathematical definition of the vector

We look at some game-related examples of vectors

We discuss basic vector operations such as multiplication by a scalar, vector addition, and vector subtraction

We work out some game-related vector operation examples

We learn how to mathematically calculate the length, or magnitude, of a vector

We learn how the formula for a vector's magnitude can be extended to 3 dimensions and work an example

We learn that it's sometimes useful to have vectors with a length of 1, and that these are called normalized vectors

We learn about Yaw, Pitch, and Roll, and how these are rotational values for an object stored in a mathematical construct known as a Rotator

We are challenged to think of a situation where we would need vector operations in game development

We discuss IDEs, setup our machines for Unreal Engine C++ projects, and cover the Unreal Engine Reflection System.

We discuss compatible IDEs for Unreal Engine and which one I recommend

We install and set up Visual Studio 2022 and configure it properly for Unreal Engine.

We go over the most important concepts from C++ that we will be taking advantage of in Unreal Engine 5

Unreal Engine uses the concepts of Reflection and Garbage Collection. We learn what those things are and how they work in Unreal Engine

We are challenged to explain a difficult concept from C++ in our own words

We create our first Actor class and learn about the functions it contains built-in.

We create our first Unreal Engine C++ class and take a look at what it starts out with

We create a Blueprint based on our first Actor

We learn how to print debug messages to the screen from C++

We learn how strings can be formatted using the FString::Printf function

We learn how to draw debug spheres in Blueprint and C++

We learn how to draw debug lines

We learn how to draw debug points

We create a custom header file for our debug macros

We are challenged to look into the other debug functions and see how they work

We learn the basic functions for moving objects in our world, as get a bit more math experience with the trigonometric sine function.

We learn how to set the location of an Actor in Blueprint and C++

We learn how to set the rotation of an Actor in Blueprint and C++

We learn how to add an offset to our Actor so we can move it with code

We learn the basics of trigonometry and the relationship of the sine function to angles and triangles

We apply the sine function to our Actor to make it rise and sink

We learn about the UPROPERTY macro and specifiers that allow us to expose variables to Blueprint

We learn how to expose variables to the event graph but prevent them from being edited

We now learn how we can expose variables to the Blueprint Event Graph so they can be changed at runtime

We learn about the UFUNCTION macro and how to expose functions and make our sine function callable in Blueprint

We learn about template functions and create one of our own

We learn how to add components to an Actor Blueprint and reassign the Root component

We learn about Default Objects for classes and components and we create a component in C++

We are challenged to make our Item rotate

We step it up to the Pawn class, creating a Bird that we can possess and fly around to get a literal Bird's Eye View!

We create a Bird class based on Pawn

We add a Capsule Component to our Bird class

We learn the importance of forward declaration and what happens when we don't use it

We learn how Skeletal Mesh Components have a Skeleton asset and that they can be animated

We will be converting the project to use Enhanced Input! Please watch the following lecture first, then watch the Enhanced Input lectures outlined in this article.

We learn about Unreal Engine's input system and assign Axis Mappings to keyboard input

Please watch the following lecture first, then watch the Enhanced Input lectures outlined in this article.

We learn how to bind callback functions to our input Axis Mappings

We add Camera and Spring Arm Components to our Bird and about the capabilities of the Spring Arm

We learn about how to add input to the Controller to rotate it and let our Pawn follow its rotation

We learn how to specify which Pawn is used by the Game Mode

We are challenged to fly our Bird throughout our Open World map and take some high resolution screenshots!

We finally make our own Character class, get assets and animations, and start to program third-person Character mechanics!

We create our first Character class based on ACharacter

We set up movement functions for input

We add the Camera and Spring Arm Components to our Character class

We learn about the Rotation Matrix, a tool we can use to get the forward direction of our Controller

We use the Rotation Matrix in code to get our Controller's forward direction

We use the Groom Component to give Echo hair and eyebrows!

We learn how to change the color of the hair in our Groom Components

We are challenged to customize Echo's hair to our liking, and see if we can find anything else we can customize

We animate our Character by creating an Anim Instance and extending it into an Animation Blueprint so we can breath life into Echo!

We create an Animation Blueprint to drive Echo's poses based on gameplay

We create the C++ class for our Animation Blueprint to be derived from

We implement jumping for Echo

We add jumping animations to our Animation Blueprint

We learn how to use Inverse Kinematics to place Echo's feet correctly when standing on a slope

We are given the challenge to rotate Echo's feet when standing on a slope

We learn the fundamentals of collisions and overlaps in the engine, and how collision presets, responses and object types determine overall behavior between components.

We learn about the Collision Presets for components and how they control interactions between components

We learn how to implement Overlap Events in Blueprint before moving into C++

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Provides an introduction to motion warping for AAA game effects
Teaches the use of MetaSounds system for high-quality sounds in game
Develops skills in Unreal Engine 5 C++ and prepares learners for the C++ track of the Unreal Developer Certification
Uses visually appealing assets and realistic materials for a more engaging learning experience
Covers the Unreal Engine 5 Open World system with Quixel Bridge integration for scene creation

Save this course

Save Unreal Engine 5 C++ The Ultimate Game Developer Course to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Unreal Engine 5 C++ The Ultimate Game Developer Course with these activities:
Summarize Course Concepts
Summarize the key concepts covered in the course to improve understanding and retention.
Browse courses on C++
Show steps
  • Review lecture notes and materials
  • Identify the main concepts of each topic
  • Write a summary of each concept
Join a Study Group
Join a study group to collaborate with other students and discuss course material.
Show steps
  • Find or create a study group
  • Meet regularly to discuss course material
  • Work together on assignments and projects
Follow Unreal Engine Tutorials
Follow tutorials to learn the basics of Unreal Engine and game development.
Browse courses on Unreal Engine
Show steps
  • Find Unreal Engine tutorials online
  • Watch the tutorials and follow along
  • Experiment with the concepts learned in the tutorials
Five other activities
Expand to see all activities and additional details
Show all eight activities
Solve C++ Coding Challenges
Practice coding challenges to improve your understanding of C++ fundamentals, data structures, and algorithms.
Browse courses on C++
Show steps
  • Find C++ coding challenges online
  • Attempt to solve the challenges on your own
  • Review solutions and learn from your mistakes
Write a Blog Post or Article
Write a blog post or article to share your knowledge and insights on a topic related to the course.
Browse courses on Game Development
Show steps
  • Choose a topic related to the course
  • Research the topic and gather information
  • Write a draft of your blog post or article
  • Edit and revise your writing
  • Publish your blog post or article
Build a Small Game
Build a small game to apply the concepts learned in the course and gain hands-on experience with Unreal Engine and C++.
Browse courses on Game Development
Show steps
  • Set up a new Unreal Engine project
  • Create a basic level and character
  • Implement movement and interaction mechanics
  • Add graphics and sound effects
  • Publish your game
Develop a Game Design Document
Create a game design document to plan and outline your game project.
Browse courses on Game Design
Show steps
  • Define the game concept and mechanics
  • Describe the game world and characters
  • Outline the game levels and flow
  • Specify the game's technical requirements
  • Create a prototype to demonstrate the game's mechanics
Contribute to Open Source Projects
Contribute to open source projects to gain experience and learn from others.
Browse courses on Game Development
Show steps
  • Find open source projects related to the course
  • Review the project codebase and documentation
  • Identify areas where you can contribute
  • Create pull requests with your contributions
  • Collaborate with other contributors

Career center

Learners who complete Unreal Engine 5 C++ The Ultimate Game Developer Course will develop knowledge and skills that may be useful to these careers:
Game Programmer
Game Programmers are responsible for the coding and implementation of game mechanics. This course is a perfect fit for individuals seeking a career in Game Programming. By learning to create player characters, enemies, and interactive game elements, you will gain hands-on experience in the technical aspects of game development. Additionally, the course's focus on Unreal Engine 5, a cutting-edge game engine, will provide you with invaluable industry-relevant skills.
Gameplay Programmer
Gameplay Programmers specialize in the design and implementation of gameplay systems. This course is an excellent starting point for those interested in this field. It provides a solid foundation in C++ coding and Unreal Engine 5, empowering individuals to create engaging gameplay mechanics. Through the development of combat systems, enemy behavior, and player interaction, one can gain the technical skills necessary for a successful career as a Gameplay Programmer.
Level Designer
Level Designers play a crucial role in creating immersive and engaging game environments. This course is tailored to aspiring Level Designers, as it offers comprehensive coverage of level creation and design. By working through the hands-on exercises, learners will develop proficiency in utilizing assets, creating stunning landscapes, and optimizing level layouts. The course's emphasis on Unreal Engine 5's Open World system makes it highly relevant for individuals aiming for a career in Level Design.
Game Developer
Game Developers are responsible for the entire game creation process, from design to implementation. This course can equip individuals with a well-rounded skill set necessary for this role. By learning C++ programming, object-oriented design, and Unreal Engine 5, learners can gain a comprehensive understanding of game development. The hands-on projects in the course provide practical experience in creating gameplay mechanics, player characters, and game environments.
Technical Artist
A Technical Artist brings together engineering and art to create engaging and immersive experiences across film, animation, games, and more. This course can help aspiring Technical Artists develop the necessary C++ coding skills to excel in Unity development. By creating systems for enemy behavior, player combat, and environmental interactivity, one can master the tools required to bring life to their artistic creations.
Animator
Animators bring characters and environments to life through their artistic skills. This course can provide aspiring Animators with a complementary set of technical skills. By learning C++ programming and Unreal Engine 5, individuals can create and manipulate animations, implement motion warping, and work with particle effects. These skills, combined with their artistic abilities, will make them highly sought-after in the animation industry.
Game Designer
Game Designers are responsible for the conceptualization and design of game features and mechanics. While this course focuses on the technical aspects of game development, it can provide valuable insights for aspiring Game Designers. By understanding how game mechanics and AI behavior are implemented, one can make informed design decisions and create more engaging and enjoyable games.
Graphics Programmer
Graphics Programmers specialize in developing and optimizing graphics systems for games and simulations. This course may be helpful for those aspiring to enter this field. It provides an introduction to C++ programming and Unreal Engine 5, which are widely used in the graphics industry. By gaining proficiency in these tools, learners can build a solid foundation for a career in Graphics Programming.
Software Engineer
Software Engineers design, develop, and maintain software systems. This course can provide a foundation for those interested in software engineering as it covers C++ programming, data structures, and algorithms. By gaining proficiency in these core concepts, learners can build a strong technical foundation for a career in software development. However, it's important to note that software engineering encompasses a broader range of applications beyond game development.
Data Scientist
Data Scientists analyze data to extract meaningful insights and patterns. This course may be of interest to those aspiring to enter this field, as it covers data structures, algorithms, and statistical concepts. By gaining proficiency in these areas, learners can build a foundation for understanding and working with data. However, it's important to note that data science involves additional specialized knowledge and skills beyond those covered in this course.
Product Manager
Product Managers are responsible for the planning, development, and marketing of products. This course may be of interest to those aspiring to enter this field, as it provides a mix of technical and business concepts. By gaining proficiency in C++ programming, design patterns, and software development, learners can develop a foundation for understanding the technical aspects of product management. However, it's important to note that product management involves additional business and marketing skills beyond those covered in this course.
UX Designer
UX Designers focus on the user experience of products and services. While this course focuses on technical aspects of game development, it may provide some insights for aspiring UX Designers. By understanding how users interact with games and how game mechanics are implemented, one can gain a better understanding of user behavior and apply these principles to UX design. However, it's important to note that UX design involves additional specialized knowledge and skills beyond those covered in this course.
Cloud Engineer
Cloud Engineers design, build, and manage cloud computing systems. This course may be of interest to those aspiring to enter this field, as it covers data structures, algorithms, and software development concepts. By gaining proficiency in these areas, learners can build a foundation for understanding and working with cloud computing. However, it's important to note that cloud engineering involves additional specialized knowledge and skills beyond those covered in this course.
Web Developer
Web Developers design and develop websites and web applications. While this course focuses on game development, it may provide a foundation for those aspiring to become Web Developers. By gaining proficiency in C++ programming, data structures, and algorithms, learners can build a strong technical foundation for web development. However, it's important to note that web development involves additional specialized knowledge and skills beyond those covered in this course.
Database Administrator
Database Administrators are responsible for the management and maintenance of databases. This course may be of interest to those aspiring to enter this field, as it covers data structures and database concepts. By gaining proficiency in these areas, learners can build a foundation for understanding and working with databases. However, it's important to note that database administration involves additional specialized knowledge and skills beyond those covered in this course.

Reading list

We've selected 11 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Unreal Engine 5 C++ The Ultimate Game Developer Course.
Comprehensive guide to game development in Unreal Engine 5, covering everything from the basics of the engine to advanced techniques such as multiplayer networking and AI.
Provides a comprehensive overview of game engine architecture, covering topics such as rendering, physics, networking, and AI. It explores the design principles and implementation details behind modern game engines.
Provides a comprehensive overview of design patterns used in game programming, which can be helpful for understanding the code structure and organization of the game developed in the course.
Beginner-friendly introduction to C++, covering the basics of programming and object-oriented design. It uses a hands-on approach with plenty of examples and exercises to help you learn the fundamentals.
Provides a solid foundation in mathematics commonly used in game development, including vectors, matrices, quaternions, and trigonometry.
Provides a comprehensive overview of game physics, covering topics such as collision detection, rigid body dynamics, and fluid dynamics.
Provides a comprehensive overview of computer graphics, covering topics such as rendering, modeling, and animation. It valuable resource for understanding the underlying principles behind the graphics and visual effects used in games and other applications.
Beginner-friendly guide to game development, covering topics such as game design, programming, and graphics. It uses a hands-on approach with practical examples and exercises, making it a good starting point for those new to game development.
Provides a comprehensive overview of AI techniques used in games, covering topics such as pathfinding, navigation, and decision making. It valuable resource for understanding the principles behind creating intelligent behavior in games.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Unreal Engine 5 C++ The Ultimate Game Developer Course.
Unreal Engine 5 C++: Advanced Action RPG
Most relevant
Unreal Engine 5 - Gameplay Ability System - Top Down RPG
Most relevant
The Ultimate Unreal Engine 2D Game Development Course
Most relevant
Unreal Engine 5: The Complete Beginner's Course
Most relevant
Unreal Engine 5 - Learn to Create Professional Cinematics
Most relevant
Unreal Engine 5 C++ Developer: Learn C++ & Make Video...
Most relevant
Unreal Engine Blueprint Game Developer
Most relevant
The Ultimate Guide to Creating an RPG Game in Unity
Most relevant
Unreal Engine 5.2 : Exploring Lyra for Game Development
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser