
Write your first c++ program by including iostream, defining int main with braces, using std::cout and std::cin for input and output, returning zero with proper semicolon.
Learn how the C++ build process turns code in cpp and header files into modules, object files, and a final executable, while distinguishing compile-time, linker, and runtime errors.
Master signed and unsigned integers in C++ with short, int, long, and long long types. Explore memory usage, ranges, and practical examples in Visual Studio Code.
Learn how the const keyword creates unchangeable variables in c++ and why initializing them matters. See practical examples in visual studio code, highlighting safety and potential compiler optimizations.
Learn how unary increment and decrement operators work in C++, including postfix and prefix forms, with ammo examples and loop usage common in games.
Discover how floating point in C++ stores real numbers, enables arithmetic with float, double, and long double, and reveals size, range, rounding, and signedness considerations.
Master implicit and explicit type conversions in C++ using static_cast, understand truncation and data loss when converting between int and double, and apply rounding using the round function.
Learn how to store single characters in c++ with char and wide and unicode types, including wchar_t, char8_t, char16_t, and char32_t, prefixes u and l, and printing considerations.
Explore assignment operators in c++, from the basic equals sign to compound forms. See how plus-equals, minus-equals, multiply-equals, divide-equals, and modulo-equals update left-hand side variables through clear examples.
Explore relational operators in C++ that compare two operands and return a boolean value, including equal, not equal, less than, greater than, and their equal variants for if statements.
Explore how logical operators in C++ control decision making with and, or, and not, using booleans in real-world and game development scenarios such as login, banking, and combat.
Master switch statements in C++ by using cases, default, and breaks to replace long if-else chains; explore fall-through behavior and enumerated types with practical examples.
Explain how the do-while loop executes its body before checking the condition, guaranteeing at least one iteration, unlike the while loop; illustrate with a menu-driven example in C++ code.
Learn how to call functions in C++, pass parameters, and handle return values inside main, print results, and reuse library functions like sqrt and max to simplify code.
Explore function parameters and return types, including pass by value and how values move from main to a function, with auto return type deduction and add/subtraction examples.
Discover how default arguments make parameters optional in C++ functions, why defaults belong at the end of the parameter list, and how to pass arguments in order with practical examples.
discover how arrays pass to functions by address, access their elements, and handle multi dimensional arrays with const and size information.
Explore function overloading in C++ by defining multiple add functions with different parameter types and counts, and see how the compiler selects the right one.
Learn how pointers store the address of another variable, use the address-of operator, and access values indirectly, with notes on null pointers and type-specific pointer rules.
Explore array of pointers and pointer to array in C++, showing how to create, dereference, and navigate memory addresses, and how array names act as first-element addresses.
Explore pointer arithmetic in C++: navigate memory with addition, subtraction, increment, and comparison on elements, not bytes, and traverse arrays using pointers.
Learn the basics of dynamic memory allocation in C++ with new and delete, allocating heap memory and dynamic arrays, and handling pointers safely to avoid leaks and dangling pointers.
Understand the hazards of dynamic memory allocation in C++ on the heap, including memory leaks, dangling pointers, and fragmentation, and learn to pair new with delete and new[] with delete[].
Explore the hazards of dynamic memory allocation with real-world examples, including memory leaks, dangling pointers, and multiple deallocations, and learn safe cleanup using nullptr checks and proper deletion.
Master std::unique_ptr usage with make_unique, print addresses and values, and control ownership using get, reset, and release while avoiding dereferencing null pointers and not using new and delete.
Explore references in C++, learn that a reference is an alias for an existing object, enables pass-by-reference to avoid copying large data, and supports range-based for loops.
Learn how to return a pointer from a function by returning a variable's address, how dereferencing and printing affect values, and why returning a local variable's address is dangerous.
Explore passing by reference and its advantages over pointers, achieving direct access without dereferencing; learn how references share the same variable, use the ampersand, and when to use const.
Discover input parameters and output parameters in c++: pass by value, const reference, and non-const references to control copying and modify originals, plus pointers and null-pointer considerations.
Create and use enumerated data types to define named constant sets, improving readability, type safety, and maintainability while avoiding magic numbers; explore unscoped and scoped enums and underlying types.
Explore how to create and access member variables and methods in a class using dot and arrow operators, including pointers, unique_ptr, and dereferencing in C++.
Explore declaring member methods inside a class and implementing them outside the class using the scope resolution operator, keeping the class body clean with prototypes and outside definitions.
Discover how private class members enable data hiding and encapsulation, and how getters and setters (accessors and mutators) control, access, and validate private data using get name and set name.
Discover how namespaces in C++ group related declarations to prevent naming conflicts, use the scope resolution operator, and organize code with custom namespaces like math and science.
Learn how a nested namespace defines a namespace inside another, allowing access via outer then inner namespaces such as science::add and science::math::average, demonstrated with a practical Visual Studio example.
Master inheritance to reuse code with superclass and derived classes, building a hierarchy from object to game entities and shapes. Apply polymorphism and hierarchical design to organize C++ Unreal projects.
Learn how protected class members sit between public and private, how public, protected, and private inheritance affect accessibility in derived classes, and how using can expose base members.
Explore how derived classes override base class methods to customize behavior, using animal, dog, and cat examples to show the overridden makesound and invoking base class methods.
Learn how virtual functions enable dynamic binding in C++ by overriding base class methods in derived classes, using pointers or references, and ensuring correct destruction with virtual destructors.
Explore static_cast, a compile-time, explicit type conversion in C++, and how it enables safe downcasting between base and derived classes via pointers, with notes on data loss and safety.
Learn dynamic_cast for runtime downcasting of polymorphic classes, enabling access to non-virtual functions while safely handling null pointers. Explore base and derived relationships through practical account examples.
Learn the fundamentals of C++ from building your first program to variables, arrays, expressions, control flow, loops, functions, and pointers.
Learn how to insert new lines in a C++ program using endl and \n, control spacing with output and input, and resolve iostream namespace details in Visual Studio Code.
Learn about C++ variable types such as int, double, char, string, and boolean, with examples of storing integers, decimals, characters, words, and true/false values.
Explore if-else statements in c++ unreal engine 5, using conditions, true or false branches, and else if to control program flow with examples like health checks.
Explains how the while loop in C++ executes a block while a condition is true, including decrementing a, printing values, and handling infinite loops and not-equal comparisons with user input.
Acquire practical skills to write a function in C++, choose a return type, name the function, pass parameters, and build the function body, including return statements and void cases.
Explore pointers and const in C++, distinguishing a constant pointer from a pointer to a constant, and how each enforces immutability of either the pointer or the pointed value.
Describe how to define and organize functions in C++, implement a menu-driven program to convert messages to and from secret letters, and pass data via pointers and references.
Explore Unreal Engine 5 as the world's open, real-time 3D creation platform, showcasing photoreal visuals, immersive experiences, and open source access with C++ and Blueprint scripting options.
Navigate Unreal Engine 5 with wsad for movement and e/q for up and down, rotate by holding right mouse button, focus objects, and adjust camera speed with the scroll wheel.
Explore the lighting system in Unreal Engine 5, including directional, point, spotlight, and skylights, and compare static, stationary, and movable lights with lumen and global illumination.
Create and shape landscapes in Unreal Engine 5 by sculpting terrain, forming mountains and caves, painting textures, and managing landscape components with versatile tools.
If you want to learn more about Unreal Engine 5, please click on the link in Resources.
Create a capsule component as a default sub object with a template function, compile to enable collision, and treat it as the road component to move all attached actors.
Master the UPROPERTY macro to expose C++ variables to Unreal Engine editor and memory management, using specifiers such as visible anywhere and edit anywhere to control visibility and editability.
Attach a camera to the car in Unreal Engine using a spring arm component in C++, adjust its length, and rely on collision handling to keep the camera in view.
Select player zero and possess the car as the default pawn, spawn the pawn at game start, and play from that pawn during gameplay.
Control car speed consistently across devices by using delta time instead of frame rate, multiplying speed by delta time with get world delta seconds in Unreal Engine.
Use a boolean isCarMoving to gate rotation: set true when move value is nonzero, false when zero, and rotate the car only while isCarMoving is true.
Create a new empty level, add directional light, skylight, sky atmosphere, and test cubes to observe shadows before building lighting with volumetric clouds and exponential height fog, night mode.
Create a gun actor class with a skeletal mesh, then spawn it in the world from the shooter character using a tSubclassOf blueprint class and spawn actor, with compilation steps.
Attach the spawned gun to the character’s mesh using the gun socket on the right hand with relative transform rules, and set the owner in begin play.
Learn to send and receive damage in Unreal Engine 5 using a point damage event, hit results, and a shooter override of take damage to update current health.
Build a basic ai shooter controller in unreal engine 5, make enemies focus on the player at begin play, and use gameplay statics to reference the player pawn.
Learn to use LineOfSightTo function to detect if an actor can see another, then move toward that actor, set focus when visible, or stop movement and clear focus when not.
Learn to implement an AI control system with behavior trees and blackboard keys in Unreal Engine, wiring visual scripts and C++ to move agents and manage decisions.
Configure FCollisionQueryParams to ignore the enemy's gun and owner, then perform a line trace by channel with a proper collision channel to prevent self-shooting in Unreal Engine 5.
Add and manage sound effects in Unreal Engine 5 using C++ and gameplay statics, attaching muzzle sounds and spawning impact sounds at a location to create immersive gunfire audio.
Add a health bar with a progress bar and text, bind it to a get health percentage function that returns current health over max health and changes color under 40%.
Learn animation state machines for locomotion in Unreal Engine, enabling walk and run with shift, adjusting max walk speed from 300 to 600, and adding jumping via Blueprint and C++.
This is your complete, all-in-one course for learning AI game development with Unreal Engine 5 and C++ — starting from the very basics and progressing all the way to advanced systems. Whether you're a beginner with no prior experience or an intermediate developer looking to go deeper, this course is designed to equip you with both foundational knowledge and practical game development skills.
- Why This Course?
C++ is one of the most powerful programming languages in the world, used in systems, games, and high-performance applications. Unreal Engine 5 is the industry-standard engine behind Fortnite, Borderlands 3, Star Wars Jedi: Fallen Order, and many more. Combining the power of C++ with UE5 gives you unmatched control, speed, and performance in your games — and in this course, you’ll learn how to do exactly that.
We’ll start with C++ from scratch, then dive into Unreal Engine 5 basics, and finally go deep into AI programming, game mechanics, and game systems.
- What You’ll Learn
Section 1: C++ Programming for Game Developers
Writing your first C++ program
Understanding compilation, errors, and debugging
Variables, constants, arrays, expressions, and statements
Conditional logic: if-else, switch, loops
Functions and recursion
Memory management: pointers, smart pointers, references
Object-Oriented Programming: classes, inheritance, polymorphism
Virtual functions and VTables
Enumerations, structs, namespaces
Static vs dynamic casting
Advanced memory handling and hazards
Bonus: Build a "Secret Maker" program using pure C++
Section 2: Unreal Engine 5 Essentials
Installing Unreal Engine 5
Navigating the UE5 interface
Viewport settings, transformation tools, and camera controls
Materials, textures, lighting, and Lumen
Creating landscapes and applying Megascans assets
Using the Foliage System to bring your world to life
Section 3: C++ with Unreal Engine 5 – Build a Simple Car Game
Creating C++ classes in UE5
Actor vs Pawn vs Character classes
Working with Actor Components
Forward declarations and UPROPERTY
Mesh, camera, and spring arm setup
Enhanced Input System
Logging with UE_LOG
Movement and rotation using Delta Time, FVector, and FRotator
Section 4: Building a Game World
Creating a complete game map
Level design and optimization tips
Section 5: Creating a Shooter Game (with C++)
Character setup and movement
Animation Blueprints and Blend Spaces
Spawning and attaching actors
Implementing shooting mechanics with line tracing
Taking and dealing damage with virtual functions
Health, death, and animation triggers
Section 6: AI Programming in UE5 (with C++)
AIController class and SetFocus
Navigation Mesh (NavMesh)
AI Movement using MoveToActor and LineOfSightTo
Introduction to Behavior Trees
BT Tasks, Decorators, and Blackboard
Creating custom BTTaskNodes
AI shooting and combat behavior
Using FCollisionQueryParams
Section 7: Game Polish and UX
GameMode and PlayerController setup
Adding UI elements using Widgets
Health bars and Game HUDs
Custom game over screens
FOV camera effects and state machines
Section 8: Advanced AI Systems
Fully controllable AI humans with logic
Smart AI vehicles with driving capabilities
Car damage and explosion effects
Spawning damaged vehicles
Advanced enemy behavior with combat logic
Section 9: Finalizing the Game
Final game structure and integration
Sound effects and polish
Performance tips
Preparing for packaging
- Who Is This Course For?
Aspiring game developers who want to master C++ in Unreal Engine 5
Unreal Engine users who want to go deeper into programming and AI
Students, hobbyists, and professionals looking to build powerful game systems
Anyone interested in learning how AAA-quality games are built
- By the End of This Course, You Will:
Be confident in using C++ to develop gameplay and AI systems in UE5
Understand how to create both simple and advanced AI behaviors
Build shooter mechanics, animation systems, damage systems, and full game maps
Finish with a complete, polished AI-driven game project you can show in your portfolio