God of War project
One page per lesson, in the order the course built it. Each explains what the code does and why it's written that way, then quizzes you. When the teacher moves fast, read the matching page after class.
- Project setup: modules, Build.cs, redirectsDays 1–2 · why the module list matters, and the GOW → WadOfGore rename
- Native gameplay tagsDay 8 · DECLARE/DEFINE macros, why native, hierarchy
- Data-driven Enhanced InputDays 9–10 · input config data asset, the template bind function
- Third-person camera and movementDay 8 · spring arm, who turns the character, Input_Move maths
- Anim instances in C++Day 10 · thread-safe update, locomotion data, relax state, linked layers
- Gameplay Ability System setupASC, attribute set, owner vs avatar, the interface
- Activation policy and the weaponDay 12 · OnGiven vs OnTriggered, spawn-weapon ability, weapon collision
- The C++ vocabulary the course usesReference · specifiers, casts, asserts, forward declarations
- Templates and T*Assignment · GetOwningPawn<T>, the wildcard-pin analogy, static_assert
- Startup data: granting abilitiesTSubclassOf lists, ability specs, soft pointer + LoadSynchronous, ensureMsgf
- Combat components: where weapons liveExtension components, the tag → weapon TMap, ability helper getters
- Ability input: press a button, activate by tagBinding payloads, Started/Completed, dynamic spec tags, the ASC lookup
- Equip and unequip: montages, events, anim layersMontage + gameplay event, LinkAnimClassLayers, weapon data
- Weapon abilities: grant on equip, remove on unequipSpec handles, out params and UPARAM(ref), the T-pose fix
Keeping it current
After each class, ask Claude to "add the new WadOfGore lessons to the study site". It reads the new commits and writes the next pages.