We may earn an affiliate commission when you visit our partners.
Course image
Neville Adams

If you're looking for a curriculum to prepare you for a job as a C++ developer, or maybe your ambition is to develop your own indie games, then this course is for you.

Intermediate C++ topics such as object oriented programming, pointers, inheritance and templates can be intimidating to some students, but I use simple examples, summaries, exercises and step by step illustrations throughout.

Learning C++ concepts in isolation by writing simple console applications is not enough - you must learn to use intermediate features in combination.

Read more

If you're looking for a curriculum to prepare you for a job as a C++ developer, or maybe your ambition is to develop your own indie games, then this course is for you.

Intermediate C++ topics such as object oriented programming, pointers, inheritance and templates can be intimidating to some students, but I use simple examples, summaries, exercises and step by step illustrations throughout.

Learning C++ concepts in isolation by writing simple console applications is not enough - you must learn to use intermediate features in combination.

Through Unreal Engine project examples, I explain where specific language features are useful in a real world project. This will give you a much deeper understanding of those language features and not just how to use them, but why they are important to learn and remember and where they will be useful.

What will I learn?

Following the foundational modules, C++101 and C++102, you will learn to use intermediate C++ features in combination by programming game logic in Unreal Engine.

Module C++101 (fundamentals):

In this module we explore variables and variable types (an understanding of types is very important in C++).

I introduce Conditional Statements and Logical Operators (how to write decision-making logic).

Iteration statements such as the while() loop and the for() loop allow us to write logic that executes repeatedly - and we have many ways to control the looping/repetition.

Arrays (containers of variables).

Functions, debugging fundamentals, and Visual Studio tips & tricks to speed up your workflow.

Module C++102:

Object Oriented Programming: Structs, Classes, Inheritance and Polymorphism.

Pointers and References are covered in detail.

Characters are covered detail, and I also introduce the standard string class.

Debugging and Visual Studio tips & tricks.

This module also includes intermediate lessons on Templates, Smart Pointers, Callables and more.

C++ Standards Covered:

  • C++98

  • C++11

  • C++14

  • C++17

The course also includes lectures on C language features that are used (or can be used) in C++.

C++20 lessons are planned for a future release - the standard is not widely adopted yet.

More lessons are planned for this course, including the STL, exception handling, and many more.

For the Unreal Engine 5 content, I begin by introducing the fundamentals of the engine, followed by a simple C++ project where we will apply those fundamentals and also learn a few new things along the way.

Whether you have no programming experience, or are already familiar with a programming language and want to learn how to code game logic in Unreal Engine 5 with C++, this course is for you.

Enroll now

Here's a deal for you

Save money when you learn with a deal that may be relevant to this course.
All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Learning objectives

  • Learn c++ programming fundamentals through simple examples and illustrations
  • Debugging and problem solving skills
  • Learn how c++ is used in real-world projects, with examples from the unreal engine codebase
  • Understand how intermediate c++ features, such as object oriented programming, inheritance and templates can be used in combination
  • Apply your newly acquired c++ skills to game development fundamentals in unreal engine

Syllabus

Students will be able to write a basic C++ program using the main() function as an entry point.
Why Study C++ Programming?
What Sets This Course Apart
Read more

What you will learn:

  • The Visual Start Menu and how to organize the solutions that it displays.

  • How to manage the windows within Visual Studio, such as the Solution Explorer - auto hide, dock, etc.

  • Basic Visual Studio window layout and toolbar customization.

Topics covered in this lecture...

  • Selection & Caret Navigation.

  • Character Insertion and Overwriting.

  • Insert and Overtype.

  • The Clipboard Ring.

  • Auto List Members.

  • Tool Options.

  • Indentation and Formatting.

  • Outlining.

  • List members.

  • Surround With.

  • Insert Snippet.

  • Find and Replace.

This lecture introduces the debugging tools and features in Visual Studio, including...

  • How to set Breakpoints to pause debugger execution.

  • Step into, step over, and step out.

  • Run to Click

  • Disable Breakpoints (without deleting them).

  • Run to Cursor.

  • Inspect Variables with DataTips

  • Autos, Locals and Watch Windows.

  • The Call Stack.

  • Breakpoint Conditions.

  • Function Breakpoints.

  • The Breakpoints Window.

In this video I talk about different keyboard configurations that you should take into consideration for your next upgrade.

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Explores C++ concepts progressively, making learning C++ efficient
C++ concepts are reinforced through real-world projects using Unreal Engine
Course by Neville Adams who is known for his expertise in C++ programming
Covers C++ fundamentals and takes learners to advanced concepts such as object-oriented programming and templates
Teaches C++ as used for game logic in Unreal Engine 5, making it relevant for those interested in game development

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

C++ and unreal engine game development

According to learners, this course provides a strong foundation in C++ programming and its application in Unreal Engine 5 for game development. Students frequently highlight the instructor's ability to explain complex C++ concepts with clarity, such as OOP and pointers, making them accessible even to complete beginners. The course's strength lies in its practical, hands-on approach, showing how C++ is used in real-world Unreal Engine projects. While many find the pacing ideal, some learners with prior C++ experience desire more advanced topics or find the basic C++ modules a bit slow. Conversely, some new to game engines experienced the Unreal integration as fast-paced. An older review mentioned outdated Unreal content due to engine updates, though recent feedback primarily focuses on the course's positive aspects.
Effectively demonstrates C++ usage in real-world Unreal projects.
"I really liked how the instructor used practical examples from Unreal Engine to explain C++ concepts, which is what I was looking for."
"This course helped me bridge the gap between my theoretical C++ knowledge and practical application in game development. The instructor's real-world examples from Unreal Engine codebase were super insightful."
"The logical flow from basic C++ to applying it in Unreal Engine is spot on. The project-based learning truly reinforces everything."
Explains complex C++ concepts with excellent clarity.
"The instructor explains complex C++ concepts like OOP and pointers with such clarity, linking them directly to Unreal Engine examples."
"As a complete beginner to programming, this course was amazing. The explanations are easy to follow and the debugging tips saved me hours. The instructor's clear communication made a huge difference."
"The C++ portion is thorough and clear. The instructor patiently explains tricky concepts like pointers."
Some past feedback indicates Unreal Engine content may need updates.
"Outdated content in some Unreal Engine sections. While the C++ basics are timeless, UE updates frequently, and some examples presented didn't work directly with the latest version without significant tweaking."
"This was frustrating and time-consuming. Needs an update for UE5 standards."
"I had to spend extra time troubleshooting because some parts of the course didn't align with the latest Unreal Engine version."
Pacing varies, challenging beginners in UE and advanced in C++.
"My only minor gripe is that some C++ concepts could be a bit more in-depth for those with prior experience. Still, a great starting point for beginners."
"The C++ fundamentals were well covered, but when it came to Unreal Engine integration, I found it a bit fast-paced. It felt like it assumed more Unreal background than I had."
"I struggled with the Unreal Engine integration. The C++ part was okay, but when it came to putting it all together in UE, I felt lost at times."

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 The Unreal Arsenal: Learn C++ and Unreal Engine with these activities:
Organize and review course materials
Ensure you have a clear understanding of the course structure and materials by reviewing them beforehand.
Browse courses on Organization
Show steps
  • Download and organize all course materials, including lecture notes, assignments, and quizzes.
  • Review the materials to familiarize yourself with the topics that will be covered.
  • Identify any areas that require additional preparation or review.
Review basic programming concepts using an online platform
Refresh your understanding of foundational programming concepts before starting the course.
Browse courses on Programming
Show steps
  • Choose an online platform or resource that provides interactive coding exercises.
  • Complete exercises covering topics such as variables, data types, loops, and conditionals.
  • Review the solutions and explanations to reinforce your understanding.
Read "C++ Primer" by Lippman, Lajoie, and Moo
Gain a comprehensive understanding of C++ fundamentals and best practices from a respected reference book.
View C++ Primer on Amazon
Show steps
  • Read the book thoroughly, taking notes and highlighting important concepts.
  • Complete the exercises and review questions provided in the book.
  • Apply the knowledge gained from the book to your own C++ projects.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Join a C++ study group or online forum
Connect with other C++ learners to discuss concepts, share knowledge, and get support.
Browse courses on C++
Show steps
  • Find a C++ study group or online forum that aligns with your interests.
  • Attend regular meetings or participate in online discussions.
  • Ask questions, share your understanding, and collaborate with others.
Practice writing C++ console applications
Apply your understanding of C++ syntax and concepts by writing simple console applications.
Browse courses on C++
Show steps
  • Set up your C++ development environment.
  • Write a simple C++ program that prints "Hello, world!"
  • Create a C++ program that takes user input and performs basic arithmetic operations.
Follow tutorials on object-oriented programming in C++
Enhance your understanding of object-oriented programming principles and their application in C++.
Browse courses on C++
Show steps
  • Find reputable online tutorials or video courses on OOP in C++.
  • Follow the tutorials step-by-step, implementing the concepts in your own C++ code.
  • Experiment with different OOP techniques, such as inheritance, polymorphism, and encapsulation.
Write a blog post or article on a specific C++ topic
Solidify your understanding of C++ by explaining it to others through writing.
Browse courses on C++
Show steps
  • Choose a specific C++ topic that you are comfortable with.
  • Research and gather information from reliable sources.
  • Organize your thoughts and write a clear and informative blog post or article.
  • Proofread and edit your writing for clarity and accuracy.
  • Publish your blog post or article on a relevant platform.
Develop a simple C++ game
Apply your C++ skills to create a functional game, reinforcing your understanding of game logic and implementation.
Browse courses on C++
Show steps
  • Design the game mechanics and gameplay.
  • Implement the game logic in C++.
  • Create the game's graphics and user interface.
  • Test and debug your game thoroughly.
  • Share your game with others or publish it online.

Career center

Learners who complete The Unreal Arsenal: Learn C++ and Unreal Engine will develop knowledge and skills that may be useful to these careers:
Game Programmer
A Game Programmer designs, develops, tests, and implements gameplay features for video games, as well as maintains and improves code. A solid foundation in C++ is a must for any Game Programmer, as it is one of the core programming languages used in the video game industry. The Unreal Arsenal: Learn C++ and Unreal Engine course teaches intermediate C++ features, such as object-oriented programming, pointers, inheritance, and templates, which are essential for writing efficient and maintainable game code. Additionally, the course includes lessons on Unreal Engine, a popular game development engine used by many professional game studios.
Software Engineer
A Software Engineer designs, develops, tests, and maintains software applications. C++ is a widely-used programming language in the software industry, and this course teaches intermediate C++ features, such as object-oriented programming, pointers, inheritance, and templates, which are essential for writing efficient and maintainable software. Additionally, the course includes debugging techniques and tools, both in C++, and with tools provided by Visual Studio, which are essential for any Software Engineer.
Game Developer
A Game Developer designs, develops, and tests video games. C++ is a popular programming language in the video game industry, and this course teaches intermediate C++ features, such as object-oriented programming, pointers, inheritance, and templates, which are essential for writing efficient and maintainable game code. Additionally, the course includes lessons on Unreal Engine, a popular game development engine used by many professional game studios.
Software Developer
A Software Developer designs, develops, and maintains software applications. C++ is a widely-used programming language in the software industry, and this course teaches intermediate C++ features, such as object-oriented programming, pointers, inheritance, and templates, which are essential for writing efficient and maintainable software.
Computer Programmer
A Computer Programmer writes and maintains the source code for software applications. C++ is a widely-used programming language in the software industry, and this course teaches intermediate C++ features, such as object-oriented programming, pointers, inheritance, and templates, which are essential for writing efficient and maintainable software.
3D Artist
A 3D Artist creates 3D models and animations for video games, movies, and other visual media. While this course does not teach 3D modeling or animation, it does teach C++, a programming language that is used in many 3D modeling and animation software programs. Additionally, the course teaches debugging techniques and tools, both in C++, and with tools provided by Visual Studio, which are essential for any 3D Artist who wants to use these software programs.
Web Developer
A Web Developer designs and develops websites. While C++ is not as commonly used in web development as other programming languages, such as JavaScript, Python, or PHP, it is still useful for developing high-performance web applications. Additionally, this course teaches debugging techniques and tools, both in C++, and with tools provided by Visual Studio, which are essential for any Web Developer.
Data Scientist
A Data Scientist analyzes and interprets data to extract insights and make predictions. While C++ may not be the most commonly used programming language in data science, its performance and efficiency make it a good choice for certain data-intensive tasks. Additionally, this course teaches debugging techniques and tools, both in C++, and with tools provided by Visual Studio, which are essential for any Data Scientist.
Quality Assurance Tester
A Quality Assurance Tester tests software applications to identify and report bugs. While this course does not teach software testing, it does teach C++, a programming language that is used in many software applications. Additionally, this course teaches debugging techniques and tools, both in C++, and with tools provided by Visual Studio, which are essential for any Quality Assurance Tester.
Technical Writer
A Technical Writer creates user manuals, technical documentation, and other written materials to explain complex technical concepts. While this course does not teach technical writing, it does teach C++, a programming language that is used in many technical domains. Additionally, this course teaches debugging techniques and tools, both in C++, and with tools provided by Visual Studio, which are essential for any Technical Writer who wants to understand the technical concepts they are writing about.
IT Support Specialist
An IT Support Specialist provides technical support to users of computer systems and software. While this course does not teach IT support, it does teach C++, a programming language that is used in many operating systems and software applications. Additionally, this course teaches debugging techniques and tools, both in C++, and with tools provided by Visual Studio, which are essential for any IT Support Specialist who wants to understand the technical issues they are troubleshooting.
Database Administrator
A Database Administrator maintains and manages databases. While this course does not teach database administration, it does teach C++, a programming language that is used in many database management systems. Additionally, this course teaches debugging techniques and tools, both in C++, and with tools provided by Visual Studio, which are essential for any Database Administrator who wants to understand the technical issues they are troubleshooting.
Network Administrator
A Network Administrator maintains and manages computer networks. While this course does not teach network administration, it does teach C++, a programming language that is used in many networking devices and software. Additionally, this course teaches debugging techniques and tools, both in C++, and with tools provided by Visual Studio, which are essential for any Network Administrator who wants to understand the technical issues they are troubleshooting.
Systems Analyst
A Systems Analyst analyzes and designs computer systems. While this course does not teach systems analysis, it does teach C++, a programming language that is used in many operating systems and software applications. Additionally, this course teaches debugging techniques and tools, both in C++, and with tools provided by Visual Studio, which are essential for any Systems Analyst who wants to understand the technical issues they are analyzing.
Computer Scientist
A Computer Scientist conducts research and development in computer science. A solid foundation in C++ is essential for any Computer Scientist, as it is one of the core programming languages used in computer science research. This course teaches intermediate C++ features, such as object-oriented programming, pointers, and templates, which are essential for writing efficient and maintainable code. Additionally, this course may be useful for Computer Scientists who want to learn about Unreal Engine, a popular game development engine that is used by many professional game studios.

Reading list

We've selected six 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 The Unreal Arsenal: Learn C++ and Unreal Engine.
Provides a comprehensive overview of the C++ programming language, covering both the basics and advanced topics. It valuable resource for those who want to learn C++ in-depth.
Is the definitive reference on the C++ programming language. It valuable resource for those who want to learn C++ from the ground up.
Provides a comprehensive overview of C++ concurrency. It valuable resource for those who want to learn how to write concurrent C++ code.
Provides a comprehensive overview of C++ templates. It valuable resource for those who want to learn how to write generic C++ code.

Share

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

Similar courses

Here are nine courses similar to The Unreal Arsenal: Learn C++ and Unreal Engine.
Object-Oriented Hierarchies in Java
Most relevant
Write a Mini Game in Scala
Most relevant
Introduction to Java and Object-Oriented Programming
Most relevant
Learn Object-Oriented Programming with Scala
Most relevant
Introduction to C++ Programming: Create a Tic-Tac-Toe Game
Most relevant
Create a C# Class Definition to Track Employee Data
Most relevant
Create an Android App with Kotlin
Most relevant
Python 101: Develop Your First Python Program
Most relevant
Python Classes and Inheritance
Most relevant

Udemy Buyer Protection & Guarantee

Verified partner policies & purchase protections

Global Marketplace Leader
Free Trial & Audit

Free Lecture Previews

Free preview video lectures available for all courses; optional 7-day free trial on Personal Plan subscriptions (cancel before trial ends to avoid conversion).

Return & Refund Policy

30-Day Money-Back Guarantee

30-day money-back guarantee on all eligible individual course purchases (provided course content has not been substantially consumed or downloaded). Subscription fees are non-refundable once billed.

Buyer Protections

Verified Academic & Industry Partner

Lifetime access to purchased individual courses and future updates, verifiable certificate of completion, and direct student Q&A forums.

Key Purchase Protections
30-day 100% money-back guarantee on course purchases
Lifetime access on web, mobile, and offline
Certificate of completion included with purchase
Direct instructor Q&A and active student community
OpenCourser Verified Partner Policy details last reviewed: 2026-10-22
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 - 2025 OpenCourser