This is the Ultimate Blueprint course for Unreal Engine 5.
This is the Ultimate Blueprint course for Unreal Engine 5.
In this course, you will start with absolutely no experience in game development whatsoever. All of the important terms and concepts in game development will be introduced to you and explained carefully and in detail. By the end, you will have four small game projects of different genres, ranging from 2D to 3D, and you'll understand the underlying principles needed to make any creation you can imagine.
The course starts you off as a complete beginner, but experienced developers will also benefit from this course, as many best practices and advanced features are covered throughout.
The course begins at the beginning - downloading the Epic Games Launcher, where we will install Unreal Engine 5, as well as gain access to the Epic Games Marketplace where we can get tons of free, high-quality assets for our games. After familiarizing ourselves with the Unreal Engine editor, learning about asset types and how to import asset files, we get some practice manipulating objects in the level and building simple game environments with free asset packs.
We then get started learning the basic structure of the Blueprint visual scripting system, as well as cover the fundamental math skills every game developer needs to understand. We get practice visualizing vectors in the engine with the various debug drawing Blueprint nodes.
With the original assets created specifically for this course, we then create our first simple game, Bad Bot - a drone flying shooter. We cover the fundamentals of Unreal Engine's class hierarchy, learning about the various game classes that come together to form a basic game - including the Actor, the Pawn, the Game Mode, and the Controller. We learn how to bind inputs from keyboard, mouse, and console controller using Unreal Engine's Enhanced Input System. This project covers spawning enemy bots, firing projectiles, and adding sound and visual effects such as impacts and explosions, before finishing the level with a boss fight.
We then dive deep into Unreal Engine's collision framework, with a section dedicated to the collision system in Unreal Engine. We learn how Unreal Engine handles collision, including knowledge of:
The physics system versus the query system
Collision Complexity and how meshes can have both simple and complex collision and how to configure these
How the method of movement determines the type of interactions objects will have with each other
Sweeping collisions versus physics collisions
Collision Enabled, Collision Object Types, and Collision Responses, and how these work together
Custom collision channels, custom collision profiles, and optimization for performance
By the end of this chapter, Unreal Engine's collision framework will be completely demystified and you'll easily be able to configure the collision settings correctly so that your game object interact as intended, optimized for performance, and without invisible collision interactions affecting the game's frame rate.
With our newly-acquired collision skillset, we start the second game project of the course, Jetpack Journey - a third-person platformer with Kix, an original character created, rigged, and animated for this course. Kix has a jetpack, allowing us to step up our complexity, going from the Pawn class to the Character class. We learn about the Character Movement Component, and how to change movement modes from walking to flying. We implement a fully-functional jetpack with a blendspace, allowing for smooth blending of animations while flying. This project involves creating precious resources in the form of jet fuel, allowing us to implement pickups to refuel, a progress bar for the fuel percent, and moving platforms that force the player to use the flying capability. We learn about some very important concepts in this section, including:
Movement modes, and switching to flying mode
Single and two-dimensional Blendspaces to blend between animation poses
Binding inputs in the Player Controller versus the Character class
Keeping Blueprint nodes clean and readable
Managing class dependencies and coding best practices - we're using Blueprints, but we should still follow best practice.
Skeletal Mesh Sockets, utilized for jetpack thruster effects
Enforcing precious resources in the form of jet fuel, with jet fuel pickups to refill fuel
Use of UMG (Unreal Motion Graphics) to create UI including a progress bar to display fuel percent
The impact of Casting on runtime performance and memory via the creation of hard references
Analyzing class memory size via the size map, and dependencies via the reference viewer
Reducing file size with texture compression
Lazily loading of assets at runtime and how to load assets asynchronously, using soft object and class references
Lighting and Post Processing
This section covers many important aspects of game development that even experienced developers aren't aware of. You're verging on intermediate-to-advanced territory with some of these.
The next game project introduces Unreal Engine's 2D capabilities, as we enable the built-in Paper2D plugin for 2D games. We also download the now-free PaperZD, a very important 2D plugin allowing us to use important 2D features for our games. This section's game project is a 2D dungeon-crawling side-scroller with Red Hood, a hooded 2D figure who ventures through a dark dungeon, battling skeleton minions via melee combat. We cover some valuable ground in this section, including:
Where to get free 2D assets, including animated characters, props, UI and environments
Creation of sprites, flipbooks, tile sets and tile maps
Important settings for a 2D Unreal Engine game project
2D level creation
Enemy AI with the Behavior Tree and Blackboard
Combat and combo attacks
Use and creation of the compound data types such as enums and structures
Floating damage numbers
Implementing melee combat
By this point, you will have the skills necessary to create your own game projects, but we're not quite done yet. We wrap up the course with a final section on Unreal Engine's Chaos Vehicles. Chaos Vehicles are Unreal's physics-based vehicle system. We use original assets created specifically for this course, importing a sci-fi car and wheels into the engine. We use the engine's built-in rigging tools to create a skeleton and skin it to the mesh, before creating a fully-functional chaos vehicle. We end by implementing enter/leave functionality for the car, by migrating the vehicle into our Jetpack Journey project so Kix can enter and leave the vehicle. We learn:
Creation of Skeletal Meshes from Static Meshes
Rigging and skinning, creating a vehicle skeleton and physics asset
Creation of a fully-functional chaos vehicle with keyboard/mouse and console controller input (using Enhanced Input)
Coverage of Chaos Vehicle settings including torque/rpms, friction, front/rear/all-wheel drive, front/rear wheel steering, and more
Migrating the vehicle into our Jetpack project
Changing possession of Pawns/Characters to enter and exit the vehicle.
By the end of this course, you will have gone from absolute beginner to having intermediate/advanced skills. You will understand the principles necessary to create game projects on your own. You will have hands-on practice, as well as theoretical knowledge underlying every tool and concept used throughout this course.
You will also have access to our Druid Mechanics Discord Community, a community of over 23,000 students of all skill levels, all interacting, conversing, and helping each other throughout their game development journeys.
After this course, you will fully understand Unreal Engine's architecture and class hierarchy. If your aim is to develop your own games, or even to further your career or learning journey, or move on to tackle Unreal's C++ system, this course will prepare you and equip you with the skills needed to do so.
You will gain lifetime access to the course for a single, one-time fee. You will have access to all updates and patches made to the videos.
If you're ready to learn how to make your own games, this course is ready for you.
See you soon.
We discuss what game engines are, their various components, and how they come together to make video games.
Make sure to download these professional assets created specifically for this course!
We start the course off with your first challenge!
We install the Epic Games Launcher and learn how to install the latest Unreal Engine version.
We create our first Unreal Engine project and learn how to add Starter Content.
We take a look at the Editor Layout and learn what some of the various buttons and options do.
We learn how to playtest in the editor via the PIE (Play-In Editor) option - something we'll be doing all the time throughout our game dev careers!
One of the fundamental skills you must know is how to manipulate objects in your level.
Sometimes, it's all about perspective. We learn how to switch perspectives to make level design easier.
It's important to understand file types and what you (and Unreal Engine) can do with them. The .uasset is unique to Unreal and contains useful information that we'll learn about in this lecture.
Sometimes our mesh assets aren't appropriately-sized. We learn how to import them at the correct size in this lecture, and later we'll learn about Modeling Mode.
Our meshes need materials! We learn about Unreal Engine's Material asset and compose one of our own.
We continue with Materials by creating a Material for the Drone using the provided texture assets.
Assets can be expensive! It's good to know where you can get them, especially free ones! We learn about Marketplace Assets and get some free ones!
Migration of assets from one Unreal Engine project to another is an essential skill. We dive into it!
A quiz recapping the topics covered in Section 1.
Blueprint is a visual scripting system for Unreal Engine. But... what does that mean?
Every Level has its own Blueprint, and we learn how to use it for testing purposes.
It's time to create our very first Blueprint class!
Components are integral to all Actor classes. We learn how easy it is to add them to our Actor class.
Printing Strings can be useful, especially when you know how to compose a String from multiple Strings.
We've been using coordinates, but it's time for a complete explanation of the theory behind them.
Debug shapes are some of the most essential tools you can use throughout development. We learn how to draw them.
It's important to understand the difference between local and global, and how to toggle between local and global for the gizmo on objects.
A quiz recapping the topics covered in Section 2.
Vectors are one of the most important concepts in all of game development. It's important that you understand exactly what a Vector is. In this video, we discuss it.
It's not enough to just understand Vectors conceptually. You must get some hands-on practice to get a "feel" for them. We do that in this video.
Enough with the whiteboard. Let's see how Vectors can be handled in Unreal Engine Blueprints!
Vectors support various operations. We learn about those and what they can do for us in this video.
Time to see some actual examples of vector operations!
Now we get some hands on practice with vector operations!
Vector Magnitude is one-half of the important characteristics of Vectors. So... how do we calculate it?
Let's see some examples involving the magnitude of Vectors!
Now we must get some experience using vector magnitude in the engine!
The Boolean data type can have one of two possible values - true or false. We use this to branch our Blueprint logic.
We often need to reduce the length of a vector to 1 while maintaining its direction. This is called Vector Normalization
It's time to get some practice normalizing Vectors in the engine!
Frame rates are variable, and the amount of time between frames is a useful tool.
Rotators are a way to store rotational information in three components: Yaw, Pitch, and Roll.
We get some practice using Rotators in the engine.
A quiz recapping the topics covered in Section 3.
A mesh can have multiple materials. We add a second material for the glass on our drone.
We learn how the Drones can get a reference to the player-controlled Pawn.
Interpolation allows a value to smoothly approach a target. We use interpolation to smoothly rotate our drones.
Sockets allow us to have a defined transform relative to a mesh's pivot. We use sockets for a spawn point on our drone's rifles.
We get practice modeling meshes in the engine by making a mesh for our Blaster Beam.
We need a way to get new instances of Actors in our game at runtime. This is the process of Spawning Actors.
We learn various ways to move projectiles, including with the use of a Projectile Movement Component.
We've been using built-in functions in our Event Graphs. It's time to make some Blueprint functions of our own!
We dive into Niagara Systems to create visual effects for Blaster Beam impacts!
We learn how to spawn effects for our Blaster Beams.
Meta sounds are more sophisticated than sound waves. We learn how to create our own.
Timers are better than delay nodes. We learn how to set timers with callback events.
We can script out functionality to be executed in response to a hit event. We do this for our Blaster Beam!
Sometimes it's necessary to set the value of a variable as soon as an Actor is spawned. Expose on Spawn does that for us.
We design some pickups to gather while dodging drone attacks!
We learn how to add a random rotation to the spheres we spawn.
We learn how to create timelines with float curves
You can also create Timelines with Vector Curves. We do that in this video.
We create an Actor to spawn pickups in the Level.
We learn about overlap events and how to respond to overlap interactions.
We create our own Game Mode and keep track of Score in it.
We get assets for the Bad Bot level and polish up the game.
A quiz recapping the topics covered in Section 4.
We discuss Unreal Engine's Class Hierarchy and where the Pawn class fits into it.
We create a Blueprint class based on Pawn for our project.
We add the essential components our Bot Pawn will need.
We learn about the various parts to the Enhanced Input System and set it up for our Pawn
We implement firing of the rifle
We learn how to implement mouse input for rotating the controller and spring arm.
We use the Floating Pawn Movement Component to move our Bot Pawn in response to input.
We add a nice touch to our camera - Camera Lag!
A quiz recapping the topics covered in Section 5.
We discuss an overview of the Unreal Engine Collision Framework.
We discuss the various settings for Collision Complexity and how this determines whether a mesh uses simple or complex collision.
We discuss queries and perform one of our own - a line trace.
We detect collisions using the query system with sweeping.
We see how Set Actor Location affects how we detect collision.
We analyze collisions using the physics system
We learn how collisions are handled with Actors moved by Movement Components.
We take a deep dive into collision callbacks and observe how they work in relation to collision settings.
We learn how to create custom presets that can be assigned to objects for their collision profiles.
We learn how to create our own custom Object Channels.
A quiz recapping the topics covered in Section 6.
We learn how to create Material Instances based on a parent Material.
We learn how Blueprint Interfaces allow for a much cleaner code base by managing dependencies.
We learn how to create Widget Blueprints for UI elements.
We perform a line trace to orient projectiles toward the aim location.
We get some level assets for our Bad Bot project!
We create a Spawn Volume for our Bots.
We spawn some actual bots!
It's time for a boss fight!
You are given a challenge for the end of this section, should you choose to accept it.
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.
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.