
Install unreal engine 5.5 via the epic games launcher and create a new project from the first person template with starter content to explore assets, maps, and basic gameplay.
Create and transform objects in Unreal Engine by adding geometry, moving, rotating, and scaling with intuitive gizmos, using world and local axes, snapping, and adjustable camera movement.
Master Unreal Engine 5 lighting by adding directional light, sky atmosphere, fog, clouds, and skylight, then use the environment light mixer for quick, cohesive setup.
Install Visual Studio 2022 Community on Windows, select desktop development with C++, and optionally enable Unreal Engine support for game programming.
Write your first C++ program by including the standard library, declaring int main, and using std::cout and std::cin to print and read values.
Understand statements as the basic unit of a C++ program, ending with a semicolon and executing sequentially from the main function, with nesting of statement blocks inside curly braces.
Explore how names and keywords function in C++, distinguishing names from keywords, understanding naming rules and descriptive naming, and recognizing reserved keywords, including the fact there are 95 keywords.
Identify syntax, semantic, linker, runtime, and logic errors in C++ and learn debugging and how compiler warnings help fix issues and improve code.
Learn how integers store whole numbers in C++, distinguish signed and unsigned types, and compare short, int, long, and long long sizes and sign bit implications.
Explore storing single characters in C++ with char, wchar_t, char8_t, char16_t, and char32_t, using proper quotes and prefixes and the size of operator for ASCII and Unicode.
Discover the auto keyword and automatic type deduction in C++, where the compiler infers integer, string, double, and char types from assigned values, with initialization guidance in Visual Studio Code.
Explore variable lifetime and scope in C++, understand automatic, static, and dynamic memory, and local versus global variables, their creation, access, and destruction.
Learn to use switch statements in C++, replacing long if-else chains with a compact switch structure, and understand break, default, and fall through.
Explore how loops let you repeat tasks, control execution with conditions, and handle iterations. Learn about for, while, and do-while loops, including infinite loops and practical examples.
Pass arrays to functions by address, not by value, avoiding copies and memory waste. Learn how array names are addresses, how to handle element counts, const correctness, and multi-dimensional arrays.
Explore recursion as a function that calls itself, directly or indirectly, using factorial as an example. See how recursion enables complex data structures like trees, with performance and memory considerations.
Learn how pointers store addresses and how dereferencing uses the asterisk to access the value. See how a pointer can point to another variable while its own address remains fixed.
Learn how to declare and use unique_ptr in C++, including make_unique, get, reset, and release, to safely manage dynamic memory and avoid null dereferences.
Nested namespaces are namespaces defined within another namespace, with access shown using science::add and science::math::average. The lecture demonstrates this in Visual Studio with real examples.
Explore inheritance in object oriented programming by creating derived classes, reusing code from a superclass, and understanding polymorphism, hierarchy, and real-world examples like ships and shapes.
Apply the is-a test to decide when a class should derive from another in Unreal Engine C++, and use has-a relationships to model composition with objects and accessible data.
Learn how dynamic_cast enables safe downcasting at runtime for polymorphic classes with virtual functions, allowing access to non-virtual functions while returning null for invalid casts.
learn how vectors capture distance and direction between objects in 2d and 3d spaces, using x, y, and z components, and why component-wise subtraction matters for aiming and shooting.
Explain Unreal Engine class hierarchy, including UObject, Actor, Pawn, and Character, and the is-a and has-a relationships, with components, levels, and world structure for building in-engine classes.
Expose and edit game variables in Unreal Engine five using the uproperty macro, controlling visibility and editing with edit anywhere, edit defaults only, edit instance only, and organize with categories.
Discover template functions in Unreal Engine C++, enabling a single function to handle integers, floats, and vectors. Learn about type parameters and operator overloading.
add a static mesh to the helicopter in unreal engine using c++, create a helicopter mesh component, and place and orient it in the world.
Create a bot class in Unreal Engine by converting a skeletal mesh to a static mesh and adding a bot mesh component to an actor blueprint, preparing AI behavior.
Bind the on component hit delegate in the bullet to detect overlaps with the helicopter, access the overlapping actor and component, and use a five-parameter callback.
Learn to destroy the helicopter when a bullet hits it by spawning a particle effect and explosion sound, using gameplay statics and world context, then destroy the bullet.
Implement a stop-firing mechanism in Unreal Engine C++ by checking target helicopter validity and world status, using a timer to control firing and stop when the target is destroyed.
Implement a left mouse shoot input using enhanced input, bind via input mapping context in the player input setup, and fire once per press, with attenuation tuning for firing sounds.
Master enhanced input in unreal engine by creating a base character IMC, binding move forward actions to an enhanced input component, and configuring project settings.
Add and configure collision components (box, capsule, sphere) in Unreal Engine, enable overlap events, and adjust presets (overlap all, block all) with visibility options.
Use actor as the weapon class, add a skeletal mesh and a collision sphere, attach the mesh to the sphere, rotate to face the x axis, and enable nearby pickup.
Discover rifle animations in Unreal Engine by creating a rifle animation database, adding animations, and using a has rifle blueprint variable to switch animations when the weapon is picked up.
Create Unreal Engine C++ projectile class (actor) with sphere collision, static mesh, and projectile movement; set speed to 3000, rotation follows velocity, no bounce, and five-second lifetime; blueprint it.
Implement a weapon shoot function and wire it to the character to spawn projectiles, particle effects, and sounds from a projectile location scene component.
Create an animation montage from a skeletal rifle to drive shooting visuals, sounds, and particle effects via montage notifies, using an animation blueprint to play it.
Spawn a projectile at runtime by using world spawn actor with a TSubclassOf projectile, passing the projectile location and rotation from a scene component, and adjust gravity and speed.
Explain how to perform a line trace by channel from the player viewpoint, using the player controller to obtain the start location and the impact point from the hit result.
Unreal Engine C++ teaches you to handle character death by disabling collision and input, enabling ragdoll physics, and destroying the actor after a configurable timer.
Welcome to the ultimate Unreal Engine and C++ course, where you’ll learn everything you need to master game development—from the very basics to advanced mechanics. By the end of this course, you’ll have the knowledge and confidence to build your own games using the full power of Unreal Engine and modern C++. Not only will you create two complete games in this course, but you’ll also gain a deep understanding of the logic and reasoning behind every concept, empowering you to create anything you imagine.
Course Highlights
Two Complete Projects: Create a Helicopter Bot Shooter Game to learn the basics and an Advanced Shooter Game to master AI, animations, and combat mechanics.
Cutting-Edge Tools: Explore Unreal Engine’s latest features, including Enhanced Input, Motion Matching, and advanced AI perception systems.
Version Control: Learn GitHub integration to manage your projects professionally and access project files easily.
Step-by-Step Guidance: Start with the fundamentals and progress to advanced topics, ensuring a thorough understanding of both C++ and Unreal Engine.
Why Take This Course?
This course is designed to be the most complete and beginner-friendly guide to Unreal Engine and C++ available. Starting with the fundamentals, we gradually build up to advanced techniques, ensuring you develop a strong foundation before tackling complex topics. Each concept is explained step by step, so you don’t just follow along—you truly understand how and why it works.
By learning Unreal Engine and C++ together, you’ll unlock a professional-level skill set that gives you the freedom to create any type of game, whether it’s a simple platformer, an action-packed shooter, or an AI-driven open-world experience.
What Will You Learn?
1. Unreal Engine and C++ Basics
We begin by introducing the Unreal Engine interface and the basics of C++ programming. You’ll set up your environment, learn to navigate Unreal’s tools, and create your first project. For those who already know the basics, you can skip ahead. However, this section lays a strong foundation, covering essential topics like:
Writing simple C++ scripts to interact with Unreal Engine objects.
Using Unreal Engine’s editor tools for faster and smarter game design.
2. Mastering C++ for Unreal Engine
This section is the heart of the course. We’ll explore the C++ programming concepts that power Unreal Engine in great depth. Each topic is explained with real-world examples, so you’ll fully understand how these principles work in game development:
Object-Oriented Programming (OOP):
How Unreal Engine uses OOP to structure its framework.
Understanding classes, objects, inheritance, and polymorphism.
Real-world examples of inheritance in Unreal Engine, such as extending the Actor class.
Virtual Functions:
Why virtual functions are critical for game logic in Unreal.
How polymorphism is used to override behavior in derived classes.
Memory Management:
Learning about pointers and why they’re essential for Unreal Engine development.
Understanding smart pointers (unique, shared, and weak) for safer memory management.
Unreal Engine’s built-in alternatives to pointers, like TObjectPtr and TSubclassOf.
Template Functions and Classes:
Writing reusable and efficient code for common tasks.
Examples of template functions in Unreal Engine, such as TArray and FVector.
Casting and Unreal’s Cast System:
The role of static and dynamic casting in C++.
Unreal Engine’s Cast<T> function and how it simplifies working with objects.
3. Understanding Game Coordinates and Math
We’ll break down the coordinate system that defines every object’s position in Unreal Engine. You’ll also master vectors and rotators, which are crucial for movement, rotations, and physics-based interactions. Key topics include:
Manipulating vectors for precise movement.
Using rotators for smooth character rotation and aiming.
4. Unreal Engine-Specific Concepts
This section dives deep into how Unreal Engine works under the hood and how to integrate your C++ code into its framework. You’ll learn:
Unreal Engine’s class hierarchy and how to extend its classes.
Essential macros like UPROPERTY, UCLASS, and UFUNCTION.
How macros communicate with the editor for property visibility, replication, and more.
Creating custom Actor components to extend functionality.
5. First Game Project: Helicopter Bot Shooter
In this project, you’ll create a fully functional helicopter shooter game with NPC bot fighters. You’ll learn about:
Pawn Classes:
Controlling the player’s helicopter using the Pawn class.
Setting up input using Unreal Engine’s new Enhanced Input system.
Camera Systems:
Adding a camera and spring arm for better gameplay visualization.
NPC Bots:
Spawning enemy bots and programming simple AI behaviors.
Completing a playable game, combining movement, shooting, and AI bot interactions.
6. Version Control with GitHub
Properly managing your game project is vital. In this section, you’ll learn:
Setting up GitHub for version control.
Submitting commits to track your code changes.
Providing access to lecture-specific code snapshots, so you can follow along and see progress at each step.
7. Second Game Project: Advanced Shooter with AI
This advanced project takes your skills to the next level by focusing on modern gameplay systems:
Character Class and Animation:
Creating a custom character class with animations.
Retargeting animations and using Unreal Engine’s Motion Matching system for realistic animation blending.
Physics and Collision Systems:
Building realistic interactions using Unreal’s physics engine.
Setting up collision rules for weapons, projectiles, and environmental objects.
Weapon Systems:
Designing a weapon class with pickup functionality.
Adding shooting mechanics with line tracing by channel.
Implementing a health and damage system for players and AI.
AI Development:
Using the AI Perception System to give bots hearing and sight.
Setting up Behavior Trees and Blackboards for dynamic AI behaviors.
Programming bots to chase, attack, and respond to player actions.
8. UI and Game Mode
To make your games feel complete, you’ll learn to create simple yet functional user interfaces and game modes:
Designing a HUD for health and weapon.
Updating the UI dynamically from C++.
Configuring game rules with custom Game Modes.
9. Finalizing Your Game
In the final section, you’ll polish and final your game:
Setting up a new map and configuring game settings.
Preparing your game for sharing or publishing.
What Makes This Course Unique?
This isn’t just a course where you follow along. Each topic is explained in depth, so you understand not just how but why things work. By the end, you won’t just know how to create the two projects—you’ll have the freedom and confidence to build your own games from scratch, using the full power of Unreal Engine and C++.
Join now, and let’s start creating something incredible!