We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

Unreal Engine 5 C++ Developer

Learn C++ & Make Video Games

Ben Tristem and GameDev.tv Team

Ready to make games in the amazing world of Unreal Engine 5?

This "critically-acclaimed" and "insanely successful" Unreal Engine course was created in collaboration with Epic Games.

Read more

Ready to make games in the amazing world of Unreal Engine 5?

This "critically-acclaimed" and "insanely successful" Unreal Engine course was created in collaboration with Epic Games.

The majority of the course has been fully updated and remastered to Unreal Engine 5. Existing students get all the new material for free.

Learn how to create and mod video games using Unreal Engine 5, even if you're a complete beginner. Unreal is a free-to-use game development engine used by AAA studios and indie developers worldwide. It is a massive and powerful beast, but we break it down step-by-step so you can tame it.

We start super simple so no prior experience of Unreal or coding is needed. With our online tutorials, you'll be amazed at what you can achieve. We believe project-based learning is the best way to learn Unreal Engine, so you’ll create 5 Unreal games.

Already know Unreal and want to learn VR or Multiplayer? Check out our other Unreal courses, just look for the green leaf for our other world-class Unreal courses.

Learn C++, the powerful industry-standard language from scratch. By the end of the course, you'll be very confident in the basics of coding and game development, and hungry to learn more.

"Any serious game programmer needs to know C++"Jason Gregory, Lead Programmer at Naughty Dog (creators of Uncharted & The Last of Us)

Anyone who wants to learn to create games: Unreal Engine is a fantastic platform which enables you to make AAA-quality games. Furthermore, these games can be created for Windows, consoles, macOS, iOS, Android and Web from a single source.

Benefit from our world-class support from both other students, and the instructors who are on the forums regularly. Go on to build several games including a tank game, and a First Person Shooter.

You will have access to a course forum where you can discuss topics on a course-wide basis, or down to the individual video. Our thriving discussion forum will help you learn and share ideas with other students.

Get plugged into our communities of amazing developers on Facebook (nearly 20k), in our own TA-curated Community (17k views/day), and our student chat group (10k live at any one time).

Start to learn Unreal C++ now, you won't be disappointed.

Enroll now

What's inside

Learning objectives

  • How to make games in unreal engine 5.
  • C++, the games industry standard language.
  • Object oriented programming and how to put it into practice.
  • Game design principles.
  • Programming patterns and best practices.
  • Artificial intelligence behaviour programming for enemies.
  • Write code that is clean and to understand.
  • When to use blueprint or c++.
  • How to achieve anything you want in unreal using c++.
  • Unreal gameplay framework to make games easily.
  • Strong and transferable problem solving skills.
  • Modern game development technologies and techniques.
  • Show more
  • Show less

Syllabus

Intro & Setup (New UE5 Content)
For users of Unreal 4.22

In this video (objectives)…

  1. Sam welcomes you to the course and shows you some of the games you will be creating.

Read more

In this video (objectives)…

  1. We walk through the process of installing a version of Unreal Engine. We also get a few tips on how to follow along in this Early Access course.

In this video (objectives)…

  1. We introduce the ways that you can get help, support and contribute to the community.

In this video (objectives)…

  1. We create a new project in Unreal and learn about the core elements of the Unreal UI: The Viewport, World Outliner and Details pane. Then we learn to navigate the Viewport.

In this video (objectives)…

  1. We learn that the objects in our level are “Actors”. We learn how to Translate, Rotate and Scale theses actors and add new ones. We use this to create a little platformer.

In this video (objectives)…

  1. We learn what the Blueprint programming language is and when we would use it versus C++. We see the structure of the next couple of sections and when we might want to skip ahead.

In this video (objectives)…

  1. Sam shares his tips on asking good questions and how to get more info to include in your question.

Warehouse Wreckage (New UE5 Content)

In this video (objectives)…

  1. We overview what we want from our game and what concepts we will cover.

In this video (objectives)…

  1. We create a new project using the “Starter Content” and learn to use the Content Browser to open different Maps. We then learn to open the Level Blueprint Editor from a given map.

In this video (objectives)…

  1. A warning for anyone wanting to follow the course using UE5.1 or later.

In this video (objectives)…

  1. We see the Blueprint Event Graph for the first time and print basic text to the screen in response to events.

In this video (objectives)…

  1. We learn how to switch on Physics simulation and have a bit of fun.

In this video (objectives)…

  1. We learn about Object, References and Components and use this knowledge in Blueprint to query objects in our scene and get info about them.

In this video (objectives)…

  1. We use Blueprints to add an impulse to an object in our scene. We see how to trigger this with a key press.

In this video (objectives)…

  1. We create a reusable Blueprint and see how updating it changes multiple instances.

In this video (objectives)…

  1. We spawn an actor using our new blueprint and use the instance to add force.

In this video (objectives)…

  1. We look into the different data pin colours and see that they are Types. We see what Types are and how they constrain our connections.

In this video (objectives)…

  1. We see how the engine spawns a pawn for us to control at the player start. We see how to get access to the pawn in the Event Graph and use it’s Transform.

In this video (objectives)…

  1. We see how the Pawn’s Actor Rotation doesn’t help much. We find out how to get the control rotation and apply that to the ball.

In this video (objectives)…

  1. We learn how Vector addition, subtraction and multiplication work. We learn to do this with an arrow representation as well as coordinates.

In this video (objectives)…

  1. We look at what the Forward Vector is. We learn to multiply it to give us an impulse that launches our Projectile in the right direction.

In this video (objectives)…

  1. We see how to search the Marketplace for asset, especially free. And how to download and add these to our projects.

In this video (objectives)…

  1. We create a new level and build some walls using additive and subtractive BSP brushes. We also bring our existing Blueprint functionality into the level.

In this video (objectives)…

  1. We learn to add materials to our Geometry brushes and adjust the directional lighting of the scene.

In this video (objectives)…

  1. We add in meshes to our scene and see how components can be used to make more complex actors.

In this video (objectives)…

  1. We see what a collision mesh is and we see how we can generate a simplified mesh to behave well with physics simulations.

In this video (objectives)…

  1. We learn how variables can be used to store values. We see how to use Blueprint to set and get these values. We use this to keep track of our ammo.

In this video (objectives)…

  1. We learn how to use Comparison Operators to get true/false answers about a numeric relationship. We then use these “booleans” to execute different code using a Branch Node.

In this video (objectives)…

  1. We learn why it’s important to write self documenting code. We see how we can use functions as a great alternative to comments. We also see how functions lead to code reuse by printing our Ammo in different cases.

In this video (objectives)…

  1. We see how to create functions from scratch in the My Blueprint pane. We also see how to add inputs and outputs.

In this video (objectives)…

  1. We learn what “side effects” are. We learn that a function without execution pins is “Pure” and how to mark a function as such.

In this video (objectives)…

  1. We see how code can live in blueprint classes and have access to the instance. We use this to print a balls name and we move the “Launch” code there too.

In this video (objectives)…

  1. We see how to load a level from Blueprint and we can reload the current level by using Get Current Level Name. We call this functionality after a Delay.

In this video (objectives)…

  1. We review at all the concepts covered in this section and what could be extended in our game.

Obstacle Assault (New UE5 Content)

In this video (objectives)…

  1. We overview the prototype for the game and our plan of action for creating it.

In this video (objectives)…

  1. We start by downloading the asset packs we need and starting a project from one of these. We create our own map and bring in a different player character.

In this video (objectives)…

  1. We create our own child character class and tweak the inputs to match our project.

In this video (objectives)…

  1. We see why we need a compiler and source code editor and how they fit into the process of making games.

In this video (objectives)…

  1. We show you how to install our compiler for PC: Visual Studio Community and which version and features are required.

In this video (objectives)…

  1. We show you how to install our compiler for Mac: XCode.

In this video (objectives)…

  1. We install the final piece of the puzzle, our source code editor, VSCode. Then install plugins that will help us with C++ development in Unreal.

In this video (objectives)…

  1. We add a C++ file to our project and learn to compile the editor.

In this video (objectives)…

  1. We learn how to add variables to a C++ class and how to make these visible in the editor. We then see how to compile our class using Live Coding.

In this video (objectives)…

  1. Sam overviews some issues that can lose data with Live Coding and how to work around this.

In this video (objectives)…

  1. We see how to use the Cpp files to implement our code. We encounter the BeginPlay function and use it to add up variables.

In this video (objectives)…

  1. We learn to create FVector variables and how to construct a Struct as well as access it’s component parts using the dot operator.

In this video (objectives)…

  1. We see what function calls look like in C++ and learn that their inputs are called Arguments. We learn how to SetActorLocation with both a variable and a constructor.

In this video (objectives)…

  1. We learn about the Game Loop and how Tick allows us to update things every frame. We use this knowledge to make our moving platform move!

In this video (objectives)…

  1. We introduce the concept of a local variable and understand the concept of scope.

In this video (objectives)…

  1. We learn about Pseudo code and comments and use this to write a description of how we want our code to work.

In this video (objectives)…

  1. We learn the difference between a statement and expression in C++. And we see how function calls can return values for us to use.

In this video (objectives)…

  1. We update our current location from a vector and we look at how we can make this frame rate independent using DeltaTime.

In this video (objectives)…

  1. We see how to use the :: operator to access functions within a class. We use this to calculate and visualise the distance moved by the platform.

In this video (objectives)…

  1. We make the platform return along its path by using an If-Statement and comparison operators.

In this video (objectives)…

  1. We use the member functions of FVector to GetSafeNormal() and calculate the direction of movement.

In this video (objectives)…

  1. We make a Blueprint Child Class to get some configuration in Blueprint as well as C++.

In this video (objectives)…

  1. We work around an issue with the character by forcing it to update it’s position each frame. We then build out our obstacle course with pushing platforms.

In this video (objectives)…

  1. We see how to setup our own Game Mode as the project default and how this can allow us to use the “Play from here” menu item.

In this video (objectives)…

  1. We see how to use the UE_LOG function for write text and float variables to the output log. We use this to print our overshoot distance.

In this video (objectives)…

  1. We see how to put strings into C++ variables and then how to print these out in a log message. We use this to print the name of the actor doing the logging.

In this video (objectives)…

  1. We see how we can refactor into functions to keep our code small and legible.

In this video (objectives)…

  1. We learn how to make our own functions return values so that we can make our code even more legible.

In this video (objectives)…

  1. We see how to use the const keyword to make const member functions that cannot modify members of the class. We also see how that change can require us to make other functions const.

In this video (objectives)…

  1. We learn how to get and set the rotation of an actor using the FRotator type. We use this to create a new rotating platform Blueprint.

In this video (objectives)…

  1. We sketch out a level design on paper using the elements that we can change. We then go ahead and implement this in the editor.

In this video (objectives)…

  1. We overview the learning takeaways from the section and see how we could take our project further.

Crypt Raider (New UE5 Content)

In this video (objectives)…

  1. We download all the assets we need for the section and create a new first person project.

In this video (objectives)…

  1. We look at the building blocks included in our asset pack and use these constraints to help us design our level on paper.

In this video (objectives)…

  1. We put our paper design into practice by layout out our level. We learn to use grid snapping and the 4 viewport view to layout levels efficiently. We also learn about keeping our outliner organised in folders.

In this video (objectives)…

  1. We go through the rest of the level design in this challenge solution video.

In this video (objectives)…

  1. We encounter some of the main types of lighting: point, spot, rect, directional and skylight. We see how to setup a sky sphere with our skylight and directional light to create natural lighting.

In this video (objectives)…

  1. We edit the materials in our scene to make them Lumen compatible. Then we block out any light bleeding into our dark dungeon.

In this video (objectives)…

  1. We use the different types of light to light our level. We learn about core light settings such as intensity and radius. And we enable shadows for our lights.

In this video (objectives)…

  1. We remove the mesh from the first person character and create a GameMode to spawn this by default.

In this video (objectives)…

  1. We go over the benefits of composition and how we can use it in Unreal.

In this video (objectives)…

  1. We create a C++ actor component and add it to our gate in our level

In this video (objectives)…

  1. We learn what a pointer is and how to store one in a variable. We learn how to get a pointer to the owning actor and print this to the console.

In this video (objectives)…

  1. We see how we can “dereference” a pointer and use this to access functions from a pointer class. We then see a shortcut using the arrow operator.

In this video (objectives)…

  1. We learn how to include a header file so that we have access to more functionality. We look briefly into how the C++ compiler works.

In this video (objectives)…

  1. We learn to use the FMath library and particularly the VInterpConstantTo function. We see the various variant of it and learn to read it’s documentation. We then make our Mover go with a boolean.

In this video (objectives)…

  1. We create a new Scene Component and learn how they are different from Actor Components. We then attach this one to our player so that it rotates with the player view.

In this video (objectives)…

  1. We learn what a line trace is and why it might be useful. We also see a helpful alternative, the shape sweep and why we might want to use this instead. We then see how to setup trace channels in the engine.

In this video (objectives)…

  1. We learn about the UWorld type and what it represents as well as how to get and store a pointer to it. See see some of the functions it has available to us.

In this video (objectives)…

  1. We see how to draw a line for debugging purposes to allow us to visualise our line trace or sweep.

In this video (objectives)…

  1. We step back from our project to see the difference between a reference and a pointer and the pros and cons of each.

In this video (objectives)…

  1. We see how references can be used to pass parameters without a copy. We see how const can be used to protect them and how out parameters can be used.

In this video (objectives)…

  1. We learn how to do a Geometry sweep by creating a Shape object and using out parameters to get our results.

In this video (objectives)…

  1. We see how to configure our input actions in the editor and how this gives us controller and mouse or keyboard support.

In this video (objectives)…

  1. We learn how to make a function callable from Blueprint. We use this to call the “Grab” and “Release” function on a key event.

In this video (objectives)…

  1. We are introduced to the PhysicsHandle component and why we want to use it. We then learn to use FindComponentByClass to get and store a pointer to it.

In this video (objectives)…

  1. We learn to draw debug spheres to visualise points in space.

In this video (objectives)…

  1. We learn to grab using a physics handle and set the target location and rotation. We take the opportunity to extract a function from repeated code.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
- Develops skills in modeling, animation, and game design, which are central to creating video games
- Teaches the game development industry standard C++, which is a valuable skill for game designers and programmers
- Employs project-based learning, which is effective in teaching students how to apply their knowledge and skills
- Integrates with other Unreal courses from the same provider, which can provide a comprehensive learning experience
- Taught by GameDev.tv Team, who are recognized for their work in game development, which adds to the credibility and authority of the course

Save this course

Save Unreal Engine 5 C++ Developer: Learn C++ & Make Video Games to your list so you can find it easily later:
Save

Reviews summary

Outstanding c++ and game development course

According to students, this course on Unreal Engine 5 and C++ offers top-notch content that empowers learners to make video games. The course excels at explaining concepts clearly and covering essential game development topics.
Covers essential game development topics.
"Everything is explained clearly and it is covering all the things you need for gamedev."
Course content is well-explained.
"Everything is explained clearly and it is covering all the things you need for gamedev."

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++ Developer: Learn C++ & Make Video Games with these activities:
Collect course materials
Start to become familiar with the course materials and how to properly use them.
Show steps
  • Review the course outline
  • Set up folders for notes, assignments, and other materials
  • Create a schedule for studying and completing assignments
Brush up on basic programming concepts
Review the fundamentals to ensure a strong foundation for the course.
Browse courses on Programming Concepts
Show steps
  • Review notes or textbooks on basic programming concepts
  • Complete practice problems or exercises to test your understanding
Review programming fundamentals
Reinforce the core programming concepts necessary for this course.
Browse courses on C++
Show steps
  • Identify the references in your notes or textbooks on programming
  • Review basic programming concepts such as variables, data types, and control flow
  • Complete practice problems or exercises to test your understanding
Four other activities
Expand to see all activities and additional details
Show all seven activities
Follow online tutorials on Unreal Engine 5
Gain hands-on experience with Unreal Engine 5 and learn its capabilities.
Browse courses on Unreal Engine 5
Show steps
  • Find online tutorials on Unreal Engine 5 that align with your learning goals
  • Follow the tutorials step-by-step and experiment with the features of Unreal Engine 5
  • Build small projects or complete challenges to practice your skills
Join a study group or online forum for Unreal Engine 5
Engage with other learners to discuss concepts, share knowledge, and collaborate on projects.
Browse courses on Unreal Engine 5
Show steps
  • Find an online forum or study group dedicated to Unreal Engine 5
  • Introduce yourself and share your goals
  • Participate in discussions, ask questions, and share your insights
Attend online workshops on Unreal Engine 5
Enhance your skills and learn from experts by attending specialized workshops.
Browse courses on Unreal Engine 5
Show steps
  • Search for online workshops on Unreal Engine 5 offered by reputable organizations
  • Review the workshop descriptions and select one that aligns with your learning goals
  • Register for the workshop and actively participate in the sessions
Help other students in the course
Solidify your understanding while assisting others with their learning.
Show steps
  • Join online forums or study groups where students ask questions
  • Identify questions that you can answer clearly and confidently
  • Provide detailed and helpful responses to the questions

Career center

Learners who complete Unreal Engine 5 C++ Developer: Learn C++ & Make Video Games will develop knowledge and skills that may be useful to these careers:
Game Programmer
A Game Programmer uses a variety of coding languages and software to build and code video games. They use their knowledge of computer graphics, audio engineering, and artificial intelligence to create games that are engaging and fun to play. This is a great role for someone who is already knowledgeable in C++ and wants to gain the skills to code video games specifically. This course not only teaches C++, but also how to use it in combination with Unreal Engine to create great games.
Software Developer
A Software Developer is responsible for designing, implementing, and maintaining software systems. They work with both code and end-users, and may specialize in a particular area of software development, such as web development, mobile development, or game development. This course can help you gain the necessary skills for a generalist role in software development, and the C++ skills you'll learn are especially relevant for game development.
Computer Programmer
Computer Programmers write and test code that allows computer applications and software programs to run. They are responsible for the design, development, and maintenance of software systems, and may work in a variety of industries, including finance, healthcare, and manufacturing. This role is a great fit for those interested in software development as a whole. The C++ skills you'll learn in this course can be applied to a wide variety of programming roles, and the course also teaches about object-oriented programming, which is a fundamental concept in software development.
Simulation Engineer
Simulation Engineers design and develop computer simulations to model and analyze complex systems. They use their knowledge of mathematics, physics, and computer science to create simulations that can be used to predict the behavior of systems in the real world. This course can help you gain the necessary skills for this role by teaching you C++, which is a commonly used language for simulation development, as well as how to use Unreal Engine, which can be used to create realistic and immersive simulations.
Game Designer
Game Designers are responsible for the overall design and development of video games. They work with artists, programmers, and other team members to create games that are engaging and fun to play. This course can help you gain the necessary skills for this role by teaching you the basics of game design, as well as how to use Unreal Engine to create your own games.
Database Administrator
Database Administrators are responsible for the management and maintenance of databases. They ensure that databases are running smoothly and efficiently, and that data is secure and accessible. This course may be useful for this role by teaching you the basics of C++, which is a commonly used language for database development.
Web Developer
Web Developers are responsible for the design and development of websites. They work with both code and design tools to create websites that are both visually appealing and functional. This course may be useful for this role by teaching you the basics of C++, which is a commonly used language for web development.
Quality Assurance Analyst
Quality Assurance Analysts are responsible for testing and evaluating software products to ensure that they meet quality standards. They work with developers and other team members to identify and fix bugs, and to improve the overall quality of software products. This course may be useful for this role by teaching you the basics of C++, which is a commonly used language for software development.
Technical Writer
Technical Writers are responsible for creating documentation for software products and other technical systems. They work with developers and other team members to create documentation that is clear, concise, and informative. This course may be useful for this role by teaching you the basics of C++, which is a commonly used language for software development.
Computer Systems Analyst
Computer Systems Analysts are responsible for the design, implementation, and maintenance of computer systems. They work with both code and design tools to create systems that are both efficient and effective. This course may be useful for this role by teaching you the basics of C++, which is a commonly used language for systems development.
Data Analyst
Data Analysts are responsible for collecting, cleaning, and analyzing data to identify trends and patterns. They work with both code and statistical tools to create reports and visualizations that can be used to make informed decisions. This course may be useful for this role by teaching you the basics of C++, which is a commonly used language for data analysis.
Network Administrator
Network Administrators are responsible for the design, implementation, and maintenance of computer networks. They work with both code and network hardware to create networks that are both secure and efficient. This course may be useful for this role by teaching you the basics of C++, which is a commonly used language for network development.
Information Security Analyst
Information Security Analysts are responsible for protecting computer systems and networks from unauthorized access, use, disclosure, disruption, modification, or destruction. They work with both code and security tools to create systems that are both secure and resilient. This course may be useful for this role by teaching you the basics of C++, which is a commonly used language for security development.
Project Manager
Project Managers are responsible for the planning, execution, and closure of projects. They work with both code and project management tools to create projects that are both successful and efficient. This course may be useful for this role by teaching you the basics of C++, which is a commonly used language for project management.
Business Analyst
Business Analysts are responsible for gathering and analyzing business requirements to identify opportunities for improvement. They work with both code and business analysis tools to create solutions that are both effective and efficient. This course may be useful for this role by teaching you the basics of C++, which is a commonly used language for business analysis.

Reading list

We've selected eight 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++ Developer: Learn C++ & Make Video Games.
Collection of recipes that cover various aspects of game development using Unreal Engine 4. It practical guide that can help you learn how to use Unreal Engine 4 to create games.
Comprehensive guide to artificial intelligence for games. It covers all the major topics in AI for games, from pathfinding to decision making to machine learning. It good resource for anyone who wants to learn more about how AI can be used in games.
Comprehensive guide to game engine architecture. It covers all the major components of a game engine, from the renderer to the physics engine. It good resource for anyone who wants to learn more about how game engines work.
Comprehensive guide to game making. It covers all the major topics in game making, from game design to game development to game marketing. It good resource for anyone who wants to learn more about how to make games.
Comprehensive guide to physics for game developers. It covers all the major topics in physics for games, from kinematics to dynamics to collision detection. It good resource for anyone who wants to learn more about how physics can be used in games.
Comprehensive guide to mathematics for game developers. It covers all the major topics in mathematics for games, from algebra to calculus to trigonometry. It good resource for anyone who wants to learn more about how mathematics can be used 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++ Developer: Learn C++ & Make Video Games.
Introduction to C++ Programming and Unreal
Most relevant
C++ Class Development
Most relevant
More C++ Programming and Unreal
Most relevant
Unreal Engine Blueprint Game Developer
Most relevant
Unreal Engine 5: The Complete Beginner's Course
Most relevant
The Unreal Arsenal: Learn C++ and Unreal Engine
Most relevant
Intermediate Object-Oriented Programming for Unreal Games
Most relevant
Unreal Engine 4 Blueprints - The Ultimate Developer Course
Most relevant
Unreal Engine 5 C++ The Ultimate Game Developer Course
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