Files
UE5-Modular-Game-Framework/docs/checklists/remaining-blueprint-build-order.md
Lefteris Notas 8bb162eda2 Add Project Prototype Guide for PG_Framework Testing Setup
- Introduced a comprehensive guide for creating a minimal playable prototype in UE5.
- Detailed steps for project creation, C++ module integration, gameplay tags setup, and player pawn assembly.
- Included instructions for input system setup, state management wiring, and test level setup.
- Provided a verification checklist and troubleshooting section to assist developers.
- Documented next steps for expanding the prototype with additional systems.
2026-05-21 18:03:15 +03:00

35 KiB
Raw Blame History

Remaining Blueprint Build Order — All 135 Systems

Version: 1.0 | Generated: 2026-05-21 | C++ Status: 22 header files (12 full, 10 stubs)

This document is the authoritative "what's left to build" reference. It cross-references the 22 C++ classes in Source/PG_Framework/ against all 135 Blueprint spec files to show exactly what Blueprint assets remain to be created, in dependency-safe build order.


Legend

Symbol Meaning
Done — C++ full implementation + BP spec complete. Zero BP build needed (or Data Asset instance only).
🟡 C++ Stub — C++ header exists (UCLASS, basic vars, delegates). Logic must be implemented in Blueprint child.
🔵 BP Build Required — Full Blueprint implementation needed. No C++ code exists. Follow the spec's Manual Implementation Guide.
Data Asset Instance — Create content Data Asset instances (per-item, per-equipment, per-encounter, etc.). Not a code build.
None Required — System is purely architectural (interface or auto-created subsystem). No build step.

Quick Action Summary

What Count
BP component children to create (full logic implementation) 66
BP component children to create (C++ stub — add logic to BP child) 8
BP actor children to create 8
Widget BPs to create 14
Data Asset instances to create Per-project (16 DA_ types → ~200+ instances)
Data Tables to import from CSV 11
Input Actions to create 22
Input Mapping Contexts to create 5
Enums/Structs (in-editor) 7 (E_PlayerActionState, E_OverlayState, E_PlayerVitalSignals, E_ActionRequestResult + 3 structs)

Total assets to build: ~130 Blueprint assets + ~230 Data Asset instances (content-dependent)


Build Phase Map

Phase 0  → Foundation + Input (01-07, 128) — 8 systems — BUILD FIRST
Phase 1  → Player Core (08-15) — 8 systems
Phase 2  → State Management (130-131) — 2 systems — BUILD BEFORE Phase 1
Phase 3  → Interaction (16-23) — 8 systems
Phase 4  → Inventory (24-34) — 11 systems
Phase 5  → Save/Load (35-43) — 9 systems
Phase 6  → UI (44-57) — 14 systems
Phase 7  → Narrative (58-68) — 11 systems
Phase 8  → Weapons (69-79) — 11 systems
Phase 9  → AI (80-88) — 9 systems
Phase 10 → Adaptive (89-101, 132-133) — 15 systems
Phase 11 → Data Assets (115-127, 129, 134-135) — 16 systems (content instances)
Phase 12 → Meta/Progression (102-103) — 2 systems
Phase 13 → Settings (104-105) — 2 systems
Phase 14 → Polish (106-114) — 9 systems

Phase 0 — Foundation + Input (BUILD FIRST)

These 8 systems are the bedrock. Without them, nothing else runs.

01 — DA_GameTagRegistry

Aspect Detail
C++ Status Full — Source/PG_Framework/Public/Core/DA_GameTagRegistry.h + .cpp
BP Spec docs/blueprints/01-core/01_DA_GameTagRegistry.md
What to Build Data Asset instance: Content/Framework/Core/DA_GameTagRegistry → assign TagDataTables (11 entries)
Manual Steps 11 Data Tables must be created from CSV and registered in Project Settings first.

02 — FL_GameUtilities

Aspect Detail
C++ Status Full — Source/PG_Framework/Public/Core/FL_GameUtilities.h + .cpp
BP Spec docs/blueprints/01-core/02_FL_GameUtilities.md
What to Build None. Static function library — callable from any BP.
Companion 02a_ML_GameUtilities.md — 24 BP macros (no C++ required). Build the Macro Library in BP if using BP-only path.

03 — I_InterfaceLibrary (9 interfaces)

Aspect Detail
C++ Status Full — Source/PG_Framework/Public/Core/I_InterfaceLibrary.h
BP Spec docs/blueprints/01-core/03_I_InterfaceLibrary.md
What to Build None. All 9 interfaces (I_Interactable, I_Damageable, I_Persistable, I_Lockable, I_Holdable, I_UsableItem, I_Toggleable, I_Adjustable, I_Inspectable) defined in C++. Implement them on your BP actors.

04 — GI_GameFramework

Aspect Detail
C++ Status Full — Source/PG_Framework/Public/Core/GI_GameFramework.h + .cpp
BP Spec docs/blueprints/01-core/04_GI_GameFramework.md
What to Build 🔵 BP child: Content/Framework/Core/BP_GameFramework (parent: GI_GameFramework). In Class Defaults: set TagRegistryDA_GameTagRegistry, bValidateTagsOnInittrue.
Project Settings Set as Default Game Instance in Maps & Modes.

05 — GM_CoreGameMode

Aspect Detail
C++ Status Full — Source/PG_Framework/Public/Core/GM_CoreGameMode.h + .cpp
BP Spec docs/blueprints/01-core/05_GM_CoreGameMode.md
What to Build 🔵 BP child: Content/Framework/Core/BP_CoreGameMode (parent: GM_CoreGameMode). In Class Defaults: set PlayerControllerClassPC_CoreController, PlayerStateClassPS_CorePlayerState, GameStateClassBP_CoreGameState, DefaultPawnClass → your player pawn.
Project Settings Set as Default GameMode in Maps & Modes.

06 — GS_CoreGameState

Aspect Detail
C++ Status Full — Source/PG_Framework/Public/Core/GS_CoreGameState.h + .cpp
BP Spec docs/blueprints/01-core/06_GS_CoreGameState.md
What to Build 🔵 BP child: Content/Framework/Core/BP_CoreGameState (parent: GS_CoreGameState). No extra config needed — replicated state works out of the box.

07 — DA_ItemData

Aspect Detail
C++ Status Full — Source/PG_Framework/Public/Inventory/DA_ItemData.h + .cpp
BP Spec docs/blueprints/01-core/07_DA_ItemData.md
What to Build Data Asset instances: DA_Item_* per game item (weapons, consumables, key items, documents, collectibles, tools, resources, misc).

128 — SS_EnhancedInputManager

Aspect Detail
C++ Status Full — Source/PG_Framework/Public/Input/SS_EnhancedInputManager.h + .cpp
BP Spec docs/blueprints/15-input/128_SS_EnhancedInputManager.md
What to Build None. Auto-created GameInstanceSubsystem.
Manual Steps Create 22 IA_* Input Actions + 5 IMC_* Input Mapping Contexts. Create DA_InputMappingProfile instances per platform.

— PC_CoreController

Aspect Detail
C++ Status 🟡 StubSource/PG_Framework/Public/Player/PC_CoreController.h + .cpp
BP Spec Covered in 02-player integration docs
What to Build 🔵 BP child: Content/Framework/Player/PC_CoreController (parent: APC_CoreController). Add logic: input routing, BeginPlay (push IMC_Default), phase handling.

— PS_CorePlayerState

Aspect Detail
C++ Status 🟡 StubSource/PG_Framework/Public/Player/PS_CorePlayerState.h + .cpp
BP Spec Covered in 02-player integration docs
What to Build 🔵 BP child: Content/Framework/Player/PS_CorePlayerState (parent: APS_CorePlayerState). Add player-specific replicated state: inventory slots, equipped items, narrative flags.

Data Tables (Phase 0 Root)

Asset Status
DT_Tags_Player.csv Import as Data Table (GameplayTagTableRow), register in Project Settings
DT_Tags_Interaction.csv Import, register
DT_Tags_Item.csv Import, register
DT_Tags_Narrative.csv Import, register
DT_Tags_AI.csv Import, register
DT_Tags_Save.csv Import, register
DT_Tags_Environment.csv Import, register
DT_Tags_Combat.csv Import, register
DT_Tags_State.csv Import, register
DT_Tags_Audio.csv Import, register
DT_Tags_Achievement.csv Import, register

Starter GameInstance (00-project-setup)

Aspect Detail
C++ Status 🔵 Superseded by GI_GameFramework (04)
BP Spec docs/blueprints/00-project-setup/GI_StarterGameInstance.md
What to Build 🔵 BP child: BP_StarterGameInstance (parent: GameInstance) — minimal tag validation entry point. Use this for quick prototyping before migrating to full BP_GameFramework (04).

Phase 1 — Player Core (8 systems)

All 8 Player systems need Blueprint component children. Four have C++ stubs; four are BP-only.

08 — BPC_HealthSystem

Aspect Detail
C++ Status 🟡 StubSource/PG_Framework/Public/Player/BPC_HealthSystem.h + .cpp
BP Spec docs/blueprints/02-player/08_BPC_HealthSystem.md
C++ Provides MaxHealth, CurrentHealth, OnHealthChanged dispatcher, OnDeath dispatcher
BP to Add 🔵 Health logic: TakeDamage(), Heal(), OnDeath() transition, damage resistance modifiers, health regen tick. Must implement I_Damageable.
Attach To Player pawn

09 — BPC_StaminaSystem

Aspect Detail
C++ Status 🟡 StubSource/PG_Framework/Public/Player/BPC_StaminaSystem.h + .cpp
C++ Provides MaxStamina, CurrentStamina, OnExhaustionStateChanged dispatcher
BP to Add 🔵 Stamina logic: sprint drain, action costs, exhaustion state machine, regen delay + rate, CanAffordAction(Cost) query.
Attach To Player pawn

10 — BPC_StressSystem

Aspect Detail
C++ Status 🟡 StubSource/PG_Framework/Public/Player/BPC_StressSystem.h + .cpp
C++ Provides EStressTier enum (Calm→Catatonic), StressTier, OnStressTierChanged dispatcher
BP to Add 🔵 Stress logic: stress accumulation sources (combat, darkness, scares), decay during safety, tier transitions, hallucination trigger thresholds.
Attach To Player pawn

11 — BPC_MovementStateSystem

Aspect Detail
C++ Status 🟡 StubSource/PG_Framework/Public/Player/BPC_MovementStateSystem.h + .cpp
C++ Provides CurrentMovementMode (FGameplayTag), OnMovementModeChanged dispatcher
BP to Add 🔵 Movement logic: read CMC (CharacterMovementComponent) states, map to GameplayTags, detect posture changes (standing/crouching/prone), sprint state, footstep events, GASP ABP variable bridge.
Attach To Player pawn

12 — BPC_HidingSystem

Aspect Detail
C++ Status 🔵 BP-Only
BP Spec docs/blueprints/02-player/12_BPC_HidingSystem.md
What to Build 🔵 BP child: BPC_HidingSystem — enter/exit hiding, peek, breath-hold timer, LOS raycasts, stress decay multiplier, I_HidingSpot interface queries.
Attach To Player pawn

13 — BPC_EmbodimentSystem

Aspect Detail
C++ Status 🔵 BP-Only
BP Spec docs/blueprints/02-player/13_BPC_EmbodimentSystem.md
What to Build 🔵 BP child: BPC_EmbodimentSystem — first-person body mesh, arm/weapon IK, visibility per state, skin/outfit overlays, shadow casting.
Attach To Player pawn

14 — BPC_CameraStateLayer

Aspect Detail
C++ Status 🔵 BP-Only
BP Spec docs/blueprints/02-player/14_BPC_CameraStateLayer.md
What to Build 🔵 BP child: BPC_CameraStateLayer — FOV, offset, rotation layers per state (combat zoom, hiding peek, inspect FOV), camera shake triggers, look sensitivity scaling.
Attach To Player pawn (or CameraComponent)

15 — BPC_PlayerMetricsTracker

Aspect Detail
C++ Status 🔵 BP-Only
BP Spec docs/blueprints/02-player/15_BPC_PlayerMetricsTracker.md
What to Build 🔵 BP child: BPC_PlayerMetricsTracker — track accuracy, deaths, playstyle ratios, time-to-complete sections, leaderboard data. Feed to SS_AchievementSystem (103).
Attach To Player pawn

Phase 2 — State Management (BUILD BEFORE Phase 1 systems wire up)

These 2 systems are the central nervous system. BPC_StateManager must be on the player pawn before any other system calls IsActionPermitted().

130 — BPC_StateManager

Aspect Detail
C++ Status Full — Source/PG_Framework/Public/Player/BPC_StateManager.h + .cpp
BP Spec docs/blueprints/16-state/130_BPC_StateManager.md
What to Build None. Attach C++ component directly to player pawn.
Config in Details Panel Set GatingTableDA_StateGatingTable, DefaultActionStateFramework.State.Action.Idle
Manual Steps Create E_PlayerActionState (42 values), E_OverlayState (18), E_PlayerVitalSignals (5), E_ActionRequestResult (8) enums in editor. Create S_StateChangeRequest, S_StateGatingRule, S_ActionPermissionResult structs.
Attach To Player pawn (component slot 0 — loads first)

131 — DA_StateGatingTable

Aspect Detail
C++ Status 🟡 StubSource/PG_Framework/Public/State/DA_StateGatingTable.h + .cpp
C++ Provides FStateGatingRule struct, GatingRules array, IsActionGated() query
What to Build Data Asset instance: Content/Framework/State/DA_StateGatingTable → populate GatingRules with 37 rules mapping action tags to blocking state tags.
Manual Steps Populate all 37 gating rules per the architecture doc. Designers modify rules here — no BP changes.

Phase 3 — Interaction (8 systems)

16 — BPC_InteractionDetector

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP child — raycast-based interaction detection, hold/press timing, prompt generation, focus begin/end events. Calls I_Interactable interface on targets.
Attach To Player pawn

17 — I_HidingSpot

Aspect Detail
C++ Status 🔵 BP-Only (simple interface)
What to Build 🔵 BP interface: I_HidingSpot — functions: Enter, Exit, Peek, GetEntryTransform, IsOccupied. Implement on hiding spot actors.

18 — BPC_DiegeticDisplay

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP child — in-world UI rendering on surfaces (wristwatch, monitors, holograms). Coordinates with SS_UIManager.

19 — BP_DoorActor

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP actor child — physical door with open/close/lock/barricade/trap state machine, linked actors, I_Interactable + I_Lockable + I_Toggleable.

20 — BP_PuzzleDeviceActor

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP actor child — puzzle base: state machine, solution validation, reward dispenser, I_Interactable. Set DA_PuzzleData per instance.

21 — BPC_ContextualTraversalSystem

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP child — vault, mantle, slide, squeeze, climb via Motion Warping. Reads environment probes, plays traversal montages.

22 — BPC_PhysicsDragSystem

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP child — grab, drag, release physics objects. I_Holdable interface integration. Physics handle management.

23 — BPC_UsableWorldObjectSystem

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP child — generic world object use (levers, valves, buttons, panels). I_Toggleable + I_Adjustable dispatch.

Phase 4 — Inventory (11 systems)

24 — BPC_ContainerInventory

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP child — world container inventory (chests, drawers, cabinets, safes). IPersistable for loot persistence.

25 — BP_ItemPickup

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP actor child — physical item in world: bob/rotate animation, I_Interactable, auto-pickup or manual pickup. Set DA_ItemData per instance.

26 — BPC_ActiveItemSystem

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP child — quick-slot management (1-8 hotkeys), contextual item use, scroll wheel cycling, I_UsableItem calls.

27 — BPC_CollectibleTracker

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP child — collectible tracking: found count, set bonuses, reward unlocks. Feeds SS_AchievementSystem.

28 — BPC_ConsumableSystem

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP child — consumable use: health packs, syringes, temporary buffs. Reads DA_ItemData.ConsumableData.

29 — BPC_DocumentArchiveSystem

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP child — document archive: read, categorize, flag important. Feeds WBP_JournalDocumentViewer.

30 — BPC_EquipmentSlotSystem

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP child — equipment slots (primary weapon, secondary, melee, tool, armor, accessory). Equip/unequip validation, stat recalculation on swap.

31 — BPC_InventorySystem

Aspect Detail
C++ Status Full — Source/PG_Framework/Public/Inventory/BPC_InventorySystem.h + .cpp
What to Build None. Attach C++ component directly to player pawn. Set GridWidth, GridHeight, MaxWeight in Details panel.
Attach To Player pawn

32 — BPC_ItemCombineSystem

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP child — item combination/crafting: recipe validation via DA_ItemData.CombinesWith/CombineResult, result generation.

33 — BPC_JournalSystem

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP child — quest/objective journal: active, completed, failed tracking. Feeds WBP_ObjectiveDisplay + WBP_JournalDocumentViewer.

34 — BPC_KeyItemSystem

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP child — key item tracking: use-on-target, consumed-on-use, I_Lockable.TryUnlock() calls.

Phase 5 — Save/Load (9 systems)

35 — SS_SaveManager

Aspect Detail
C++ Status Full — Source/PG_Framework/Public/Save/SS_SaveManager.h + .cpp
What to Build None. Auto-created GameInstanceSubsystem.

36 — I_Persistable

Aspect Detail
C++ Status Full — in Source/PG_Framework/Public/Core/I_InterfaceLibrary.h
What to Build None. Interface already defined. Implement on any actor that needs save/load.

37 — BP_Checkpoint

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP actor child — checkpoint: respawn point, activation, save-on-touch. Call SS_SaveManager.CreateCheckpoint().

38 — BPC_AltDeathSpaceSystem

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP child — alternate death/void space: enter, explore, find exit. Coordinates with BPC_DeathHandlingSystem.

39 — BPC_DeathHandlingSystem

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP child — death orchestrator: death cause determination, death animation, respawn timer, death screen trigger. Calls GM_CoreGameMode.HandlePlayerDead().

40 — BPC_PersistentCorpseSystem

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP child — corpse persistence: spawn corpse actor on death, preserve inventory as lootable, decay timer.

41 — BPC_PersistentWorldStateRecorder

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP child — world state recording: track door states, destroyed objects, puzzle completions. Feeds SS_SaveManager.

42 — BPC_PlayerRespawnSystem

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP child — respawn logic: nearest checkpoint lookup, respawn animation, invulnerability window, inventory restoration.

43 — BPC_RunHistoryTracker

Aspect Detail
C++ Status 🔵 BP-Only
What to Build 🔵 BP child — run/session history: death count, chapter progress, item collection stats. Feeds post-game analytics.

Phase 6 — UI (14 systems — ALL Widget Blueprints)

All 14 UI systems are Widget Blueprints. UMG is BP-native — no C++ conversion needed.

# System Asset Type Parent Key Dependencies
44 SS_UIManager BP child of GameInstanceSubsystem GameInstanceSubsystem Menu stack, push/pop, HUD visibility, input mode sync
45 WBP_AccessibilityUI Widget BP UserWidget Colorblind modes, subtitle sizes, control remapping
46 WBP_DiegeticHUDFrame Widget BP UserWidget In-world HUD frames (health bar on wristwatch, etc.)
47 WBP_HUDController Widget BP UserWidget Root HUD: health, stamina, stress bars, crosshair, objective
48 WBP_InteractionPromptDisplay Widget BP UserWidget "Press E to Open" prompts, hold-progress bar
49 WBP_InventoryMenu Widget BP UserWidget Grid-based inventory UI, drag-drop, context menu
50 WBP_JournalDocumentViewer Widget BP UserWidget Document reader: text, images, audio logs
51 WBP_MainMenu Widget BP UserWidget New Game, Continue, Load Save, Settings, Quit
52 WBP_MenuFlowController Widget BP UserWidget Menu state machine (Main→Settings→Back, etc.)
53 WBP_NotificationToast Widget BP UserWidget Achievement unlock, item found, objective update popups
54 WBP_ObjectiveDisplay Widget BP UserWidget Active objectives list, progress bars, compass markers
55 WBP_PauseMenu Widget BP UserWidget Resume, Settings, Load, Save, Main Menu, Quit
56 WBP_ScreenEffectController Widget BP UserWidget Vignette, blood splatter, flash, color grading overlays
57 WBP_SettingsMenu Widget BP UserWidget Graphics, Audio, Controls, Accessibility, Language

Phase 7 — Narrative (11 systems)

# System Type What to Build
58 BPC_NarrativeStateSystem BPC child Narrative state machine: chapter/phase tracking, flag management
59 BPC_ObjectiveSystem BPC child Objective tracking: add/complete/fail, prerequisite checking
60 BPC_DialoguePlaybackSystem BPC child Dialogue playback: text display, audio sync, auto-advance
61 BPC_DialogueChoiceSystem BPC child Dialogue choices: branching, consequence dispatch, timers
62 BPC_BranchingConsequenceSystem BPC child Consequence execution: set narrative flags, spawn actors, trigger events
63 BPC_TrialScenarioSystem BPC child Timed trial/puzzle: countdown, success/fail conditions
64 BPC_CutsceneBridge BPC child Cutscene bridge: enter/exit cutscene phase, camera control, skip
65 BPC_LoreUnlockSystem BPC child Lore/journal unlock: trigger-based, item-based discovery
66 DA_NarrativeDataAssets DA instances Dialogue lines, choice trees, quest definitions
67 BP_NarrativeTriggerVolume BP actor child Trigger volume: on-overlap set narrative flags, start dialogue
68 BPC_EndingAccumulator BPC child Ending tracker: accumulate ending conditions, determine final outcome

Phase 8 — Weapons (11 systems)

# System C++ What to Build
69 BP_WeaponBase 🔵 BP actor child: weapon base with fire/aim/reload state machine. I_UsableItem
70 BPC_AmmoComponent 🔵 BP child: ammo pool, reserve/magazine tracking, ammo pickup
71 BPC_CombatFeedbackComponent 🔵 BP child: hit markers, damage numbers, kill confirmation
72 BPC_DamageReceptionSystem Full Attach C++ component directly. Set configs in Details panel.
73 BPC_DeathCauseTracker 🔵 BP child: death cause logging, damage history, kill attribution
74 BPC_FirearmSystem 🔵 BP child: hitscan/projectile fire, fire rate, spread, recoil
75 BPC_HitReactionSystem 🟡 Stub 🔵 BP child: add hit reaction animation selection, stagger/knockdown/ragdoll triggers
76 BPC_MeleeSystem 🔵 BP child: melee combo system, hitbox spawning, damage application
77 BPC_RecoilSystem 🔵 BP child: recoil pattern playback, recovery, camera kick
78 BPC_ReloadSystem 🔵 BP child: reload timing, animation sync, ammo transfer
79 BPC_ShieldDefenseSystem 🟡 Stub 🔵 BP child: add shield raise/lower, block detection, break effect

Phase 9 — AI (9 systems)

# System Type What to Build
80 BP_EnemyBase BP actor child Enemy character: health, damage, AI controller, behavior tree
81 BP_PatrolPath BP actor child Patrol path spline: waypoints, pause durations, loop settings
82 BPC_AlertSystem BP child Alert state machine: idle→suspicious→alert→combat→search
83 BPC_AIStateMachine BP child AI behavior state: patrol, investigate, combat, flee
84 AI_BaseAgentController BP child of AIController AI controller: behavior tree runner, perception setup
85 BB_AgentBoard Blackboard def Blackboard keys: TargetActor, LastKnownPosition, AlertLevel, PatrolIndex
86 BPC_AIMemorySystem BP child AI memory: last known locations, threat history, shared squad knowledge
87 BPC_AIPerceptionSystem BP child AI perception: sight cone, hearing radius, detection speed
88 BPC_BehaviourVariantSelector BP child Behavior variant: coward/aggressive/defensive selection per encounter

Phase 10 — Adaptive (15 systems)

# System Type What to Build
89 BPC_DifficultyManager BP child Dynamic difficulty: scale damage, spawn counts, puzzle hints
90 BPC_FearSystem BP child Fear: AI fear levels, player fear, flee behavior
91 BPC_PerformanceScaler BP child Performance: dynamic LOD, particle reduction, cull distance
92 BPC_ProceduralEncounter BP child Procedural encounters: spawn enemies/events based on player state
93 BPC_AdaptiveEnvironmentDirector BP child Environment director: coordinate atmosphere, audio, light changes
94 BPC_AtmosphereStateController BP child Atmosphere: tone/tension tracking, post-process blending
95 BPC_AudioAtmosphereController 🔵 [DEPRECATED] — replaced by SS_AudioManager (132)
96 BPC_LightEventController BP child Light events: flicker, strobe, blackout, color shift
97 BPC_MemoryDriftSystem BP child Memory drift: environmental distortion, room mutation
98 BPC_PacingDirector BP child Pacing: action/calm cycle management, intensity curve
99 BPC_PlaystyleClassifier BP child Playstyle: stealth/combat/exploration classification
100 BPC_RareEventSystem BP child Rare events: low-probability special encounters
101 BPC_ScareEventSystem BP child Scare events: jump scares, ambient scares, tension buildup
132 SS_AudioManager 🔵 BP child of GameInstanceSubsystem Audio subsystem: bus management, room presets, gameplay parameters
133 BP_RoomAudioZone 🔵 BP actor child Room audio zone: trigger volume, reverb/occlusion switching

Phase 11 — Data Assets (16 systems)

All 16 are Data Asset definitions. No code — create Data Asset instances per content item.

# System Instances Needed
115 DA_AdaptationRule 5-15 (one per difficulty rule)
116 DA_AtmosphereProfile 5-20 (one per room/zone)
117 DA_BehaviourVariant 3-5 (coward/aggressive/defensive per enemy type)
118 DA_DataAssetArchitecture Reference document only
119 DA_EncounterData Per encounter group (content-driven)
120 DA_EquipmentConfig 🟡 C++ stub — create instances per equipment piece
121 DA_HapticProfile 3 (PC/Xbox/PS5 controller profiles)
122 DA_InteractionData Per interactable object type (content-driven)
123 DA_ObjectiveData Per quest/objective (content-driven)
124 DA_PuzzleData Per puzzle device (content-driven)
125 DA_RareEvent 3-10 rare event definitions
126 DA_RoomMutation 5-15 room mutation profiles
127 DA_ScareEvent 10-50 scare event definitions
129 DA_InputMappingProfile 3 (PC/Xbox/PS5 key binding profiles)
134 DA_AudioSettings 1 (master bus config, volume defaults)
135 DA_RoomAcousticPreset Per acoustic zone (small room / outdoor / cave / etc.)

Phase 12 — Meta/Progression (2 systems)

# System Type What to Build
102 BPC_ProgressStatTracker BP child Progress stats: completion %, item collection, death count
103 SS_AchievementSystem BP child of GameInstanceSubsystem Achievement subsystem: unlock conditions, trophy notification, platform API bridge

Phase 13 — Settings (2 systems)

# System Type What to Build
104 BPC_AccessibilitySettings BP child Accessibility: colorblind, subtitle, control remapping, TTS
105 SS_SettingsSystem BP child of GameInstanceSubsystem Settings persistence: save/load config to disk, apply on boot

Phase 14 — Polish (9 systems)

# System Type What to Build
106 BPC_AnalyticsTracker BP child Analytics: event telemetry, session metrics
107 BPC_DevCheatManager BP child Dev cheats: god mode, no-clip, give item, teleport
108 BPC_ErrorHandler BP child Error/crash: graceful shutdown, error log write
109 BPC_FPSCounter BP child FPS counter: on-screen perf display
110 BPC_LoadingScreen BP child Loading screen: progress bar, tip rotation, chapter art
111 BPC_TutorialSystem BP child Tutorial: contextual hints, input prompts, tutorial progression
112 WBP_CreditsScreen Widget BP Credits roll
113 WBP_DebugMenu Widget BP Debug overlay: state viewer, tag inspector, log viewer
114 WBP_SplashScreen Widget BP Boot splash / branding

Dependency-Safe Build Order (Linear)

If building solo, follow this order to avoid forward-reference compile errors:

STEP 1   — 11 Data Tables (import CSV, register in Project Settings)
STEP 2   — DA_GameTagRegistry Data Asset (assign 11 tables)
STEP 3   — GI_GameFramework BP child → set as Default GameInstance
STEP 4   — PC_CoreController + PS_CorePlayerState BP children (stubs)
STEP 5   — GM_CoreGameMode BP child → set class defaults, set as Default GameMode
STEP 6   — GS_CoreGameState BP child
STEP 7   — E_PlayerActionState + E_OverlayState + E_ActionRequestResult + E_PlayerVitalSignals enums
STEP 8   — S_StateChangeRequest + S_StateGatingRule + S_ActionPermissionResult structs
STEP 9   — DA_StateGatingTable Data Asset (37 rules)
STEP 10  — BPC_StateManager component on player pawn
STEP 11  — Player pawn BP → attach all BPC_ components (run the list from Section 6 of project-setup-migration.md)
STEP 12  — Player Core BPs (08-15) — build ONLY those referenced by StateManager first
STEP 13  — 22 IA_* Input Actions + 5 IMC_* Input Mapping Contexts
STEP 14  — DA_InputMappingProfile instances (PC/Xbox/PS5)
STEP 15  — Interaction BPs (16-23) — START with InteractionDetector
STEP 16  — Inventory BPs (24-34) — Core InventorySystem is C++, build supporting BPs
STEP 17  — Save/Load BPs (35-43)
STEP 18  — UI Widgets (44-57) — START with HUDController + UIManager
STEP 19  — Narrative BPs (58-68)
STEP 20  — Weapons BPs (69-79) — Core DamageReception is C++, build supporting BPs
STEP 21  — AI BPs (80-88)
STEP 22  — Adaptive BPs (89-101)
STEP 23  — Meta + Settings + Polish (102-114)
STEP 24  — SS_AudioManager + BP_RoomAudioZone (132-133)
STEP 25  — All DA_* Data Asset instances (content-populated, per project)

Per-System Spec References

Every system has a complete spec in docs/blueprints/ with node-by-node Manual Implementation Guide. Use those to build each BP child. Key architectural docs:

Doc Covers
docs/architecture/bpc-statemanager.md State Manager enum values, gating table rules, force stack pattern
docs/architecture/metasounds-audio-system.md Audio bus architecture, room presets, settings integration
docs/architecture/animation-catalog.md 14 required animation notifies, montage contracts
docs/architecture/sound-catalog.md 150+ sound triggers, 14 surface table entries
docs/architecture/multiplayer-networking.md HasAuthority() gates, Server_ RPCs, RepNotify patterns
docs/architecture/blueprint-limitations-workarounds.md C++-only functions you'll encounter during BP implementation
docs/developer/cpp-integration-guide.md Per-C++-class setup steps, usage patterns, BP child requirements

Counting Summary

Asset Type Total C++-Covered BP to Build
BP Components (BPC_) 79 4 full C++, 8 stubs 67 BP children (8 have C++ stubs to extend)
BP Actors (BP_) 11 0 11 BP actor children
Widget BPs (WBP_) 14 0 14 Widget BPs
Data Assets (DA_) 18 3 full C++, 2 stubs ~200+ DA instances (content-driven)
GameInstance Subsystems (SS_) 7 3 full C++ 4 BP children
Interfaces (I_) 10 9 in C++ 1 (I_HidingSpot)
Function Libraries (FL_) 1 1 in C++ 0
GameInstance (GI_) 1 1 in C++ 1 BP child
GameMode (GM_) 1 1 in C++ 1 BP child
GameState (GS_) 1 1 in C++ 1 BP child
PlayerController (PC_) 1 1 stub 1 BP child
PlayerState (PS_) 1 1 stub 1 BP child
Data Tables 11 0 11 imports
Input Actions 22 0 22 create
Input Mapping Contexts 5 0 5 create
Enums 4 2 in C++ 2 to create in editor
Structs 3 1 in C++ 2 to create in editor

Most critical build: BPC_StateManager (130) + DA_StateGatingTable (131) — without these, no system can query whether an action is permitted. Build these immediately after Foundation.


Remaining Blueprint Build Order v1.0 — Companion to cpp-blueprint-status.md and cpp-integration-guide.md.