Professional Game Development in C++ and Unreal Engine

Master Unreal Engine C++ Game Development with this university-grade course.

See Pricing Options


Unreal Fest PRAGUE is coming! Use the UNREALFEST coupon code at checkout for a 30% discount during the event!

Welcome to my course on game development in C++ with Unreal Engine. In this project-based course, you will build a third-person action game and gain a comprehensive understanding of the Unreal Engine C++ game development architecture. Whether you have been programming for years or are just starting out, this course is designed to help you master Unreal Engine and advance your game development career.

With a focus on hands-on learning, this course covers the essential concepts and techniques of programming in C++ within the Unreal Engine environment. You will learn about Unreal Engine's class hierarchy and core features, as well as best practices for debugging, optimization, and gameplay systems. By the end of the course, you will have the knowledge and skills to confidently create your own games using C++ and Unreal Engine.

With its powerful tools and advanced features, Unreal Engine is a popular choice for game developers. However, information about Unreal Engine C++ is often difficult to find. This course brings together the best of what I have learned from over 10 years of experience to provide you with a structured and engaging learning path. You will learn everything you need to know to start building your own games with C++ and Unreal Engine. Join me and let's master Unreal Engine together!

This course was taught to Computer Science students at Stanford University (Video Game Development in C++ and Unreal Engine - CS193U).

My students work at Game Studios around the globe

Your Instructor: Tom Looman

Game developer with 10+ years of Unreal Engine experience, as an indie developer, Unreal Engine consultant, and engineer at Epic Games! Over the years I created countless tutorials, courses, and sample projects for the Unreal Engine community from beginner to advanced.

I've taught Unreal Engine C++ to Computer Science students at Stanford University. My online courses have over 50,000+ students with a rating of 4.7+. My courses are used by thousands of AAA developers working at some of the biggest studios around the world.

I consult for game studios on Unreal Engine and game performance. This is another great way to keep up with the game industry and can feed this knowledge back into my courses!

Through my courses, I hope to teach you what I learned over the years and help you build your games the right way! I love explaining challenging concepts by going hands-on and showing by example. I'm passionate about taking these seemingly difficult concepts and boiling them down into easy-to-follow guides. My goal is to make game development approachable to anyone willing to learn.

Besides teaching, I make games as an indie game developer, which keeps me up-to-date on Unreal Engine, C++, and the game creation process.

What You'll Learn

You will learn how to properly build your game including a solid framework to write professional-grade code that can be applied to many genres and designs. The code you write will be invaluable regardless of your own game project’s design as you learn to code games containing flexible coding principles that are widely applicable. This includes a ‘Gameplay Ability System’ style system we create from the ground up and event-based coding principles for efficient game loops and UIs.

Throughout the course we will cover the Unreal specific C++ features and concepts including the Unreal Property System which is a powerful tool to expose your code to the editor and Blueprint. We create a game on top of Unreal’s Gameplay Framework using the “unreal-way” of making games. Along the way I will explain the reasoning behind the code we write, normally only discovered through years of tinkering, and iterating.

Debugging your code is an invaluable skill, and so we will cover debugging tools and tricks for both C++ and Blueprint. We finish that up with performance profiling tools to find bottlenecks or bugs that affect your gameplay.

The game would not be complete without some AI opponents or multiplayer with friends, you will learn how to implement both! You will discover how to use the Unreal Engine AI features including Behavior Trees, Environment Query System and create custom C++ nodes to extend the AI capabilities. We then move on to make all our game logic work seamlessly in multiplayer as well.

But even that is not all. I will demonstrate how to save the game state to disk, asynchronously load game assets, how to control VFX and materials from code, build responsive User Interfaces with UMG, GameplayTags, Animation Blueprints, creating of debug commands and so much more!

Major Features

  • Building C++ Game Framework
  • Combining C++ and Blueprint for flexible game logic
  • Unreal’s Gameplay Systems
  • Event-based Programming Principles
  • AI Programming (Behavior Trees, Blackboard, EQS, Custom C++ Nodes)
  • Multiplayer Networking (Replication architecture, low-bandwidth, best practices)
  • Saving Game State to Disk (Saving/loading player progression and world state)
  • Performance Profiling Tools (Unreal Insights & in-editor tools)
  • User Interfaces with UMG (using Event-based Principles)
  • Async Asset Loading & Soft References

Throughout the course you will work on 7 challenging assignments to complete on your own. These are backed up with in-lesson walkthroughs and source code repository to see how your solutions compare to mine including reasoning with code discussed during class.

Besides the countless features listed above, the course contains so much more! It’s packed with so many tips and tricks I’m 100% assured you will learn so much even for more experienced programmers...

All source-code and history can be found on GitHub to analyze and compare.

Course Curriculum

Is this course for you?

You might be wondering if you are a good fit for this course. This course isn’t for those without any programming skills whatsoever, there simply isn't time to teach general fundamentals of functions/variables and all the amazing intermediate/advanced content into a single course. You should have some foundational skills in programming, but it doesn't have to be C++. I went from C# into C++ myself pretty seamlessly (It was much easier than I had anticipated!), other languages like Java, Python, etc. will do just fine too!

Here are some types of students that would be a great fit:

  • Students in computer science or game development
  • Studio employees just starting out with or on their way to mastering unreal engine C++
  • Any Programming Professionals seeking to re-train themselves in Unreal Engine
  • Intermediate Unreal Developers looking to improve their C++ skills and learn new features
  • Those that are serious about a career in Game Development (Hobbyists welcome too of course!)
  • Students/Programmers still wondering if Game Development is for them (This is a great look into what game programming is like)

Build AI using in-editor tools like Behavior Trees and custom C++ extensions.

Using 'Environment Query System' to handle spatial reasoning for AI.

All features support multiplayer by the end of the course.

Ensure smooth game execution with the assistance of 'Unreal Insights' and other in-editor profiling tools highlighted in the course

Multiplayer may be the most intimidating feature of Unreal Engine to learn on your own. I'll be there to help you along the way!

This course contains 10+ years of my Unreal Engine experience and I truly believe it is something you will love to take part in! I have managed to pack so much of what I had to learn the hard way and can now explain all of it in an easy-to-follow curriculum.

A lot of what you will learn here is simply not available elsewhere and certainly not in such a cohesive and structured learning experience. These are not one-off tutorials taking shortcuts while inadvertently teaching you bad habits...You will build a proper game and framework with solid foundational coding skills that you can take into your career as a game developer!

My 3000+ students are from all backgrounds including veteran AAA studios, indie developers, and those just starting out in the industry!

Trusted by AAA Studios globally.

Join hundreds of students from AAA studios.
Companies worldwide are using this course successfully to train their in-house teams.
Strengthening their Unreal Engine C++ skillset or re-training from other software such as Unity3D or proprietary engines.


Unreal Fest PRAGUE is coming! Use the UNREALFEST coupon code at checkout for a 30% discount during the event!

Get started now!

Looking for bulk enrollment for your studio?

Bulk licenses and alternative payment options are available! Please contact me using this form or directly via [email protected] to discuss options and save on bulk enrollment.

Need only one license for someone on the team? During checkout you have the option to purchase for someone else.

What my students are saying

"I think it's very rare to take a course that is 100% applicable to your professional work.
After taking this course, I feel like I've accessed the matrix and downloaded the Unreal codex straight into my brain. Three months ago I had 0 Unreal knowledge and was really struggling to get my footing.

Now, upon course completion, it's like a film has been lifted from my vision and I understand all the fundamentals of the engine that I'm required to work with on a day-to-day basis. I cannot overstate how grateful I am to have been able to take this course. Thank you Tom!"

Anthony G

Staff Engineer (Riot)

"As a student studying game development and computer science, this course has been absolutely perfect for helping me bridge the gap between blueprinting and general C++ application programming. I'm grateful for the challenges within the assignments, the speed at which content is covered is perfect, and I haven't felt lost at any point within the course so far.
Additionally, the format of this course makes it perfect for self-pacing around my other university classes, which is greatly appreciated."

Jackson Kraft

Game Developer

"As someone who had some prior experience with game development, I was initially concerned that the course might be basic for me. However, I was pleasantly surprised by the depth and quality of the content.

The course managed to cover the fundamentals while delving into advanced topics that kept me engaged and eager to learn more.
Furthermore, the course shed light on those sometimes neglected but really useful details and features that may make a huge difference in efficient Unreal Engine development."

Mohamad Shaaban

PhD in Robotics

"It was great! I needed something that could show me where to start, core concepts, and building blocks of Unreal with C++.
As a game developer who has years of experience with some proprietary game engines (C++) and Unity (C#), this lecture was spot on!"

Youngwook Yang

Lead Engineer

"Super useful! I already have +3 years of Unreal Engine experience only with Blueprints, and I know a little of C++ before this course, but the way that the instructor explains everything is super easy to follow!
I especially like the assignments, I think it's the best way to learn. 100% recommended!"

Sebastián Pérez O

Game Developer

"This is the first game dev tutorial I've found that finally caters to people who already have programming experience in other fields. This is exactly what I needed."

Jeroen Oostdam

.Net Developer

"Amazing course, very in-depth and useful. I definitely learned a ton and will use all of the lessons learned moving forward!"

Bruno Galuzzi Corsini

Concept/Character Artist

"The course is great, goes from beginner to some pretty advanced stuff. It was great for me to brush off some of the rust on my UECPP knowledge."

Igor Antonio Pereira Machado

Unreal Engine Developer/ VR

"I've been looking for a C++-based Unreal course for a while and this was perfect!
Tom covers 3D movement and combat, but also things often missed: multiplayer, behaviour trees, UI and materials. Everything in enough detail to get you started and let you dive deeper if you want."


Brace Yourself Games

"I had so much fun following this course. I asked many questions, to which I had always a reply.
I can say that you are going to learn much more than you imagine with this course."

Juan Belón Pérez

Principal Software Engineer at MPG

"Great course, using it as a refresher to get back into UE5 development after some time in other engines. Spot on examples to get you running in no time.
Would recommend for anyone looking for a refresher or engine transition training materials."


Technical Art Director

"This is by far the best course on C++ for Unreal Engine"

Luís Cláudio

Technical Artist

Exclusive JetBrains Trial

All students receive an exclusive 180 days trial for Jetbrains ReSharper C++ (Visual Studio Plugin) and JetBrains Rider (Visual Studio Alternative) products! This includes an exclusive 25% Discount on their ReSharper/Rider personal licenses! These tools will help streamline your Unreal C++ programming experience.

Frequently Asked Questions

When does the course start and finish?
It is a completely self-paced course.
How long do I have access to the course?
You have unlimited access to this course.
What if I am unhappy with the course?
If you are unsatisfied with your purchase, contact me in within 30 days and I will give you a full refund.
Is this course compatible with Unreal Engine 5?
Yes, the course works for any version Unreal Engine 4.25+ and the latest version of 5! The Unreal C++ concepts have remained the same, there are only minor differences for us between both versions. Where necessary, lectures will include the changes.
Can I follow along on Mac and/or Visual Studio alternative?
Yes. It works on platforms other than Windows, and Visual Studio isn't required either! You can use apps like Rider, Visual Studio Code, or XCode. Some code editor features may look a little different. We write exactly the same code and use the same workflow regardless of IDE/OS you wish to use.
What level of programming know-how is expected before starting?
The course is challenging and assumes some basic programming experience. While knowing basic C++ is ideal, other programming languages like C#, Java, etc. work fine too as they all share the same core principles we need to write games with Unreal Engine.
Is this an official Stanford University course?
No, while this course curriculum has been taught to Computer Science students at Stanford University it is not affiliated nor owned/managed by the university in any capacity. Therefore, enrolling in this course does not make you a Stanford student, but the quality of the course should speak for itself!
Is there Q&A support?
Yes, I am available to help you throughout the course!
How does this compare to your previous courses?
It's been 4 years since the last course, and a lot has changed since then! I've learned many new things about C++ concepts, Unreal quirks, building a gameplay framework, and industry best practices that I've incorporated into this course. Even if you took my previous course, this new program contains a lot of valuable new information that is difficult to find elsewhere.
Are English Captions/Subtitles available?
Yes! All videos have handmade English Captions.
I'm interested in your course, but the exchange rate is too high for me. Is there anything you can do?
Please don't hesitate to reach out directly via [email protected] to discuss discounts or alternative payment options. We want to make sure that our course is accessible to everyone.
I am transitioning from Unity, is this course a good fit for me?
Absolutely! Unreal's C++ isn't as scary as you might think coming from C#. I was in the same boat many years ago with a C# background myself.

If you have any questions that are not listed above, feel free you reach out to me through my contact form or direct via [email protected].