
Over this focused 4-day workshop, you’ll take a deep dive into building game features and enemy AI using C++, leveling up your development skills from intermediate to advanced. The objective is to give you practical, hands-on experience in using C++ to create core gameplay systems while seamlessly integrating with Unreal’s Blueprint system.
Day 33: C++ Actor Programming & Components
The workshop begins by revisiting the structure of Actors and Components in Unreal Engine. You’ll learn how to create custom C++ classes derived from AActor
and add logic such as movement, input handling, and ticking updates. Using UStaticMeshComponent
, UBoxComponent
, and USphereComponent
, you’ll create modular actors with collision and visibility controls.
You’ll also explore the concept of actor composition—building actors by assembling multiple components (like meshes, lights, sounds) and scripting their behaviors. By overriding key methods such as BeginPlay()
, Tick()
, and OnComponentHit()
, you’ll control how your actors behave in real-time.
Blueprint integration is emphasized as you expose C++ properties using UPROPERTY()
macros and make functions available with UFUNCTION()
decorators. This hybrid workflow allows you to fine-tune performance-critical systems in code while retaining the visual flexibility of Blueprints.
Day 34: Creating Player & Enemy Character Classes
Building on actor knowledge, you’ll now define character classes using ACharacter
and APawn
. You’ll construct a custom player character in C++, handling movement, camera setup, and user input binding with functions like SetupPlayerInputComponent()
.
You’ll also build your first Enemy AI class using the ACharacter
base, defining health, damage, and patrol behaviors. By implementing basic state machines using enums and timers, your enemies will patrol, chase, and react to the player. You’ll use perception systems and simple distance checks to simulate awareness.
AI-related logic is enhanced with custom functions for taking damage, dying, and triggering events like spawning VFX or sounds.
Day 35: AI Controllers, Behavior Trees & Navigation
Next, you’ll focus on creating a dedicated AIController class in C++. You’ll understand how the controller interfaces with AI characters and how to manage decision-making using Behavior Trees and Blackboards.
You’ll write C++ tasks and services that plug into the Behavior Tree system, handling decisions such as “Is Player Visible?”, “Move To Player”, and “Attack Target.” You’ll set up Navigation Meshes to guide AI movement and integrate pathfinding into the system, ensuring your AI can navigate obstacles and dynamically respond to gameplay situations.
Day 35 also introduces BTTask_BlueprintBase and UBTService
classes that allow you to customize AI behaviors further. These tools are used in professional game AI systems and make your enemy characters intelligent and reactive.
Day 36: Combining C++ Features Into a Playable Demo
The final day of this workshop is all about bringing everything together. You’ll now use all the classes, actors, components, and AI behavior you’ve created to build a mini gameplay demo powered by C++.
This includes a basic enemy combat system, health and damage tracking, animations triggered from code, and interactions between player and AI. You’ll refine your codebase, organize your class hierarchy, and use events and delegates to improve modularity and reusability.
Finally, you’ll benchmark and optimize your code, ensuring clean compilation, efficient logic, and proper memory usage. You’ll review how to debug in C++ using breakpoints and output logs and prepare your project for scaling to a full game.
By the end of Day 36, you’ll have created a complete gameplay prototype entirely in C++, with enemy AI, interactivity, and polish. This workshop will empower you with deeper Unreal Engine programming skills, setting the stage for advanced game development or team-based production pipelines.