Autoplay
Autocomplete
Previous Lecture
Complete and continue
Unreal 4.1X C++ Developer: Learn C++ and Make Video Games
Introduction and Setup
Promo Video (1:46)
Welcome to the Course (5:27)
A Note On Unreal Versions (1:50)
Fully Remove Visual Studio If You Have Issues
Setup Visual Studio or XCode (4:07)
Avoiding Unreal 4.20
Unreal Development Environment (8:06)
Intro to Visual Studio 2015 on PC (7:34)
Intro to Xcode on MacOS (5:12)
How to Ask Good Questions (10:58)
A Quick Tour of Unreal Editor (9:46)
Section 1 Wrap-Up (2:43)
Section End QUIZ
Instructor Hangout (5:19)
Bulls & Cows Word Console Game - Your First C++
Intro, Notes & Section 2 Assets (3:03)
Bull Cow Game Overview (5:33)
S02 Game Design Document (GDD) (6:56)
A Note About Visual Studio 17
How Solutions & Projects Relate (11:49)
C++ Function Syntax (7:53)
Using, #include and Namespaces (11:34)
Magic Numbers and Constants (7:21)
Variables and cin for Input (10:00)
Using getline() (5:03)
Simplifying With Functions (11:39)
Iterating With For & While Loops (8:08)
Mid Section Quiz
Clarity is Worth Fighting For (10:19)
Booleans and comparisons (11:33)
Using do and while in C++ (6:44)
Introducing Classes (2:59)
Using Header Files as Contracts (11:35)
Including Our Own Header File (9:37)
Frustrated With XCode?
Instantiating Your Class (7:00)
Writing & Using Getter Methods (9:00)
Introducing the Const Keyword (6:20)
Constructors For Initialisation (7:50)
Pseudocode Programming (9:07)
Mid Section Quiz
Using using for Type Aliases (9:41)
Using struct for Simple Types (10:01)
Using if Statements in C++ (13:49)
Debugging 101 (7:39)
A Place for Everything (7:06)
Introducing enumerations (9:55)
Writing Error Checking Code (9:17)
Using switch Statements (11:57)
Warm Fuzzy Feelings (6:31)
Handling Game Win Condition (7:58)
Mid Section Quiz
Win or Lose "Screen" (6:07)
Introducing Big O Notation (11:49)
TMap and map Data Structures (11:09)
Range-based for Loop (8:58)
Design a Helper Function (8:49)
Playtesting Your Game (7:59)
Difficulty & Play Tuning (9:35)
Polishing & Packaging (8:35)
End Of Section Quiz
Section 2 Wrap-Up (1:17)
Building Escape - Your First Unreal C++ Game
Intro, Notes & Section 3 Assets (2:12)
S03 Game Design Document (GDD) (4:35)
Building Escape Overview (2:50)
Version Control 101 (8:09)
Ignoring Unreal Derived Files (8:45)
Your First .gitignore for Unreal (11:27)
Getting to Know Unreal’s Editor (8:23)
A Pointers Primer (5:40)
Unreal’s Class System (13:04)
Cloning and Building Our Code (17:25)
Runtime Messages for Feedback (7:18)
Accessing Object Names (10:45)
Include What You Use For 4.17+ (17:14)
Mid Section Quiz
Getting Transforms in C++ (12:59)
Moving Objects With C++ (12:00)
Laying Out Geometry (14:27)
Applying Materials (8:38)
Macros Starting with UPROPERTY (9:53)
Using Trigger Volumes (10:14)
Unreal’s PlayerController (10:27)
Using Collision Volumes (9:41)
Using GetTimeSeconds() (11:27)
Grabbing System Overview (5:32)
Mid Section Quiz
Modifying the Default Pawn Actor (7:28)
Inherit Game Mode Blueprint (7:05)
Getting Player Viewpoint (12:42)
Using DrawDebugLine (12:10)
Line Tracing AKA Ray-Casting (10:15)
LineTraceSingleByObjectType() (12:03)
REFERENCES & POINTERS (14:34)
Resetting Your Unreal Project (6:40)
Using FindComponentByClass() (8:59)
Introducing Input Binding (12:08)
Accessors & Memory Layout (9:25)
Mid Section Quiz
Reducing Code in “Hot Loops” (13:50)
Using Physics Handles (12:30)
Refactoring Rules (12:25)
Introducing Unreal’s TArray (12:07)
Iterating over TArray with for (8:27)
Debugging Game Issues (7:58)
Managing Texture Tiling (8:49)
Pointer Protection Process (11:34)
Exposing Events to Blueprint (11:36)
Mid Section Quiz
Using Blueprint Timeline (10:27)
Everything in its Place (11:25)
Using Variables in Blueprint (8:35)
SFX & Audio Clips (6:30)
Section End Quiz
Section 3 Wrap-Up (2:01)
Battle Tank - A Fun Tank Battle with Mortars
Intro, Notes & Section 4 Assets (1:05)
Battle Tank Overview (3:42)
S04 Game Design Document (GDD) (6:09)
Setting Up a GitHub “Repo” (10:40)
Creating & Deleting Landscapes (10:03)
Landscape Setup & Scaling (12:15)
Mid Section Quiz
A Landscaping Process (10:16)
Upgrading Engine Version (5:48)
Using Landscape Layers (12:11)
Flat Shading Low Poly Landscapes (12:38)
More Landscaping Tools (12:10)
Tank Control System (7:32)
Actors from Multiple Meshes (13:42)
Configuring a Tank (9:13)
3rd Person Camera Control (14:16)
Fixing 3rd Person Camera Rotation (8:06)
User Interface (UI) in Unreal (9:18)
Main Menu Screens (9:02)
UI Scale Box, Buttons & Mouse (11:13)
Controller Ready Navigation (8:25)
Creating Unreal Engine UI with UMG and C++
Trial Packaging Your Game (7:08)
Mid Section Quiz
Delegating to Components (11:20)
Using virtual and override (14:04)
Overloading and Polymorphism (14:27)
Virtual Functions and Vtables (11:20)
Creating an AI Controller Class (10:56)
Get the Player Controller with C++ (9:35)
Add Tick() to PlayerController (11:50)
Creating an Out Parameter Method (12:09)
Finding Screen Pixel Coordinates (13:48)
Using DeprojectScreenToWorld (12:49)
Using LineTraceSingleByChannel() (15:24)
Unify Player & AI Aiming (10:36)
Mid Section Quiz
Create Default Sub Objects in C++ (12:07)
BlueprintCallable() (13:04)
SuggestProjectileVelocity() (11:53)
Predict Projectile Landing Point (12:36)
Using FRotators in Unreal (10:58)
The C++ Compilation Process (7:26)
Using Forward Declarations (12:37)
BlueprintSpawnableComponent() (10:56)
Review Our Execution Flow (13:35)
How to Report Bugs (12:18)
Using Clamp() to Limit Values (14:18)
Mid Section Quiz
CHALLENGE - Turret Rotation (12:44)
CHALLENGE - Turret Rotation Pt.2 (11:32)
Setting Up Projectiles (10:34)
Upgrading to Unreal 4.12 (11:04)
A Note About The Movement Bug
Working Round Awkward Bugs (13:56)
Using SpawnActor<>() to Spawn (11:36)
Projectile Movement Components (11:10)
Making AI Tanks Fire (10:30)
EditAnywhere vs EditDefaultsOnly (8:37)
Mid Section Quiz
Adding a Quit Button (11:05)
Setup Track Throttles (12:31)
ApplyForceAtLocation() in Action (12:03)
Physics Materials & Friction (14:16)
Fly-by-Wire Control System (8:50)
Using BlueprintReadOnly (12:46)
Mid Section Quiz
A Better Component Architecture (12:04)
Completing Manual Tank Movement (11:09)
Introducing AI Pathfinding (12:03)
Dissecting RequestDirectMove() (12:29)
Mid Section Quiz
DotProduct() Vector Operator (12:30)
CrossProduct() Vector Operator (13:42)
Finalising Your Class Code (9:28)
How to Use Blueprint Variables (10:10)
Using Enum(erations) in UE4 (12:06)
Refactoring our Aiming Component (14:52)
Attaching a Debugger to Unreal (7:22)
Constructor & Begin Play Timing (11:58)
Decoupling Your Architecture (9:01)
Mid Section Quiz
BlueprintImplementableEvent (11:57)
Using the ensure Assertion (9:32)
Dependency Mapping (9:53)
Talking Head - Real World Skills (2:29)
Starting From Green (11:10)
Aiming Without the Tank (13:57)
Finishing our Refactoring (14:04)
Adding TickComponent() Back (13:06)
Are Two Floats Equal? (11:39)
Programmatic Sideways Friction (15:18)
OnComponentHit Event in 4.12 (8:55)
Avoiding Boolean Flags (13:18)
Improving Tank Aiming (11:23)
Mid Section Quiz
Improved Mortar Models
Tweaking Tank AI (12:14)
Making an Ammo Display (14:23)
Making an AutoMortar (14:10)
Improved Models
Using the Reference Viewer (14:10)
Preparing for Particles (13:22)
Introducing Particle Systems (15:54)
Particle Bounding Boxes (6:36)
Using FAttachmentTransformRules (16:26)
Radial Forces & Caching (14:20)
Mid Section Quiz
Using GetTimerManager() (10:15)
Using TakeDamage() on Actors (15:47)
BlueprintPure & Health Bars (14:09)
The Observer Pattern (14:19)
Finishing Off - Part 1 (14:35)
Finishing Off - Part 2 (15:47)
Section 4 Wrap-Up (3:14)
Bonus - Switching Cameras (6:35)
Get Started with Multiplayer
Fixing The Tank Suspension (2:21)
Upgrade to 4.19 And Bug Fixes (13:07)
Real-world Vehicle Physics (8:51)
Creating Physics Constraints (15:45)
Making Springs (15:32)
Converting The Spring To C++ (11:55)
Attachment, Actors and Components (13:31)
Mid Section Quiz
SpawnActorDeferred and BeginPlay (7:14)
Attaching Constraints In C++ (13:09)
Chaining Physics Constraints (15:42)
Applying Wheel Driving Force (11:29)
Solution: Implement GetWheels() (10:26)
Tick Groups And Physics (18:20)
Tweaking Linear & Angular Damping (11:56)
BONUS: Fixing Collider Issues (3:21)
End Of Section Quiz
Testing Grounds FPS
Testing Grounds Introduction (2:21)
Testing Grounds GDD (5:24)
WARNING: Tricky Content Ahead
Using Git LFS (Large File Support) (15:46)
Marketing & Markdown (13:39)
Use git clean to Revert Project (11:27)
First Person Character Overview (7:33)
The Third Person Character (9:35)
Introducing AI Behaviour Trees (8:54)
Introducing AI Blackboard Data (10:14)
Target Points and Patrol Routes (9:14)
Mid Section Quiz
Using Any Actor for Waypoints (12:42)
Options for Grouping Actors (8:57)
Blueprint Behaviour Tree Tasks (14:31)
Modular Arithmetic & Cycles (12:45)
Performance Profiling 101 (9:22)
C++ AI Behaviour Tree Tasks (12:19)
Reading Blackboard Data in C++ (9:35)
The Consequences of Inheritance (8:36)
Converting Blueprint to C++ (12:52)
Composition over Inheritance (13:41)
Mid Section Quiz
Talking Head: What We've Covered So Far (1:34)
How to Delete a C++ Class (5:06)
Instanced Materials (10:52)
Introducing AI Perception (10:50)
OnTargetPerceptionUpdated Event (9:47)
AI Hearing Perception in Unreal (8:38)
The Animation Starter Pack (12:06)
Changing a Character’s Animation (11:16)
Customising a Character Blueprint (8:27)
Sub Behaviour Trees (8:47)
Mid Section Quiz
Talking Head - Introducing Sam (0:35)
Talking Head - Refactoring Superpowers (1:43)
Simplifying Our Project (17:34)
Renaming & Moving CPP (13:37)
Solution: Renaming & Moving CPP (9:44)
Holding a Gun with Skeletal Sockets (14:25)
Understanding Animation Blueprints (11:03)
Creating Animation State Machines (14:04)
Movement Blend Spaces (16:11)
Offset Animations (18:04)
Aiming Blend Spaces Offsets (6:19)
Rotating with SetFocalPoint() (9:47)
Character Movement vs Rotation (16:19)
Control Rotation for Aim (11:59)
Behaviour Tree Decorators (11:32)
Mid Section Quiz
Behaviour Tree Services (12:56)
Tweaking AI Behaviour (5:21)
Debugging AI Behaviour (14:39)
Refactoring to a Gun Actor (15:29)
Attaching Actors to Components (13:03)
Configuring the Gun (9:48)
Moving Files from LFS to Git (14:13)
To LFS or Not to LFS? (13:42)
Child Actor Components (8:18)
Introduction to Inverse Kinematics (6:50)
Inverse Kinematics with Animations (10:21)
Mid Section Quiz
Comparing Blueprints with Diffs (10:50)
Boolean Blending for Aim States (10:47)
Adding Firing Animations (7:57)
Animation Notify Events (10:24)
Taking Damage in Blueprint (6:44)
Death Animations and Refactors (9:55)
Switching 1st and 3rd Person (8:13)
Owner Invisible Meshes (9:18)
Separating Firing from Gun Meshes (9:42)
Aiming Our 1st Person Camera (5:44)
Mid Section Quiz
Architecture of Infinite Runners (11:09)
Spawning Terrain in the GameMode (10:20)
Level Gating for Testing Grounds (13:13)
Swapping Materials in Blueprint (9:31)
Garbage Collecting Previous Tiles (8:10)
Merging Our TP and FP Files (17:30)
Hit vs Overlap Events (11:12)
Dynamically Calculating NavMesh (12:56)
Keep It Simple Stupid (10:59)
Mid Section Quiz
Parallel Behaviour Tree Tasks (17:47)
Custom BT Tasks and Decorators (16:40)
External Build Data in 4.14+ (9:43)
Physical Gun Architecture (18:43)
Converting a Character BP to C++ (17:36)
Who’s Pulled the Trigger? (17:18)
Cooldown Nodes & Gameplay Tags (16:25)
Animation Montages and Slots (18:06)
Reattaching the Gun (20:01)
Mid Section Quiz
Procedural Level Generation (20:33)
Generating Random Numbers (19:00)
Spawning Actors in the Tile (15:47)
Sphere Casting in C++ (15:51)
Configure Custom Trace Channels (11:32)
Spawning into Free Space (16:35)
Randomising Rotation & Scale (17:21)
Flyweight Pattern for Foliage (18:03)
Choosing Waypoint with EQS (14:17)
Find Actors of Type from C++ (19:33)
Plumbing an Actor Pool Setup (19:13)
Using the Pool API (19:00)
Using TArray for Pools (10:53)
Rebuilding Navigation Meshes (15:30)
Structs to Simplify Function Args (18:20)
Spawning AI from C++ (14:10)
Procedural Generation Quiz
Keeping Score (12:40)
Understanding Function Templates (10:39)
Template Specialization (9:55)
Fixing Double Spawning (17:18)
Using the HUD Class (12:39)
Post Processing for Tunnel Vision (10:39)
Recruiting Play Testers (14:41)
Smooth Blending the Camera (11:25)
Possessing and the View Target (10:36)
The Calm Before The Storm (17:52)
End of Section Quiz
Testing Grounds Wrap-up (1:46)
Extras
All Downloads
Introducing the Const Keyword
Lecture content locked
If you're already enrolled,
you'll need to login
.
Enroll to Unlock