# C++ & Blueprint Status Checklist — All 135 Systems **Version:** 1.0 | **Generated:** 2026-05-20 Complete status grid for every system in the UE5 Modular Game Framework. Use this to track: which systems have C++ code written, which Blueprint specs are complete, and what Blueprint assets remain to create. --- ## Legend | Symbol | Meaning | |--------|---------| | ✅ | **Done** — C++ files written, BP spec complete | | 🟡 | **Partial** — C++ stub (references siblings, needs subsystem wiring) | | 🔵 | **BP Spec Only** — Full Blueprint spec exists, no C++ written | | ⬜ | **Content Asset** — Create Data Asset/Table instances (not code) | | ❌ | **Not Started** — Spec exists but asset not created | Abbreviations: - **C++ H/CPP** = C++ header and source files exist in `Source/PG_Framework/` - **BP Spec** = Blueprint specification file exists in `docs/blueprints/` - **BP Asset** = Blueprint asset to create in UE5 Content Browser - **MI Guide** = Manual Implementation Guide (node-by-node) in spec file --- ## Phase 0: Foundation (01-core — 7 systems) | # | System | C++ H/CPP | BP Spec | BP Asset to Create | Status | |---|--------|-----------|---------|--------------------|--------| | 01 | `DA_GameTagRegistry` | ✅ `Core/DA_GameTagRegistry` | ✅ `01_DA_GameTagRegistry.md` | Data Asset instance: `DA_GameTagRegistry` (assign TagDataTables) | ✅ | | 02 | `FL_GameUtilities` | ✅ `Core/FL_GameUtilities` | ✅ `02_FL_GameUtilities.md` | None (static library) | ✅ | | 03 | `I_InterfaceLibrary` | ✅ `Core/I_InterfaceLibrary.h` | ✅ `03_I_InterfaceLibrary.md` | None (implement on actors) | ✅ | | 04 | `GI_GameFramework` | ✅ `Core/GI_GameFramework` | ✅ `04_GI_GameFramework.md` | **BP_GameFramework** (GameInstance child) | ✅ | | 05 | `GM_CoreGameMode` | ✅ `Core/GM_CoreGameMode` | ✅ `05_GM_CoreGameMode.md` | **BP_CoreGameMode** (GameMode child) | ✅ | | 06 | `GS_CoreGameState` | ✅ `Core/GS_CoreGameState` | ✅ `06_GS_CoreGameState.md` | **BP_CoreGameState** (GameState child) | ✅ | | 07 | `DA_ItemData` | ✅ `Inventory/DA_ItemData` | ✅ `07_DA_ItemData.md` | Data Asset instances: `DA_Item_*` per item | ✅ | | — | `GI_StarterGameInstance` | 🔵 (superseded by 04) | ✅ `GI_StarterGameInstance.md` | **BP_StarterGameInstance** (or skip, use 04) | 🟡 | ### Data Tables (01-core root) | Asset | Status | |-------|--------| | `DT_Tags_Player.csv` | ⬜ Create Data Table, import CSV | | `DT_Tags_Interaction.csv` | ⬜ Create Data Table, import CSV | | `DT_Tags_Item.csv` | ⬜ Create Data Table, import CSV | | `DT_Tags_Narrative.csv` | ⬜ Create Data Table, import CSV | | `DT_Tags_AI.csv` | ⬜ Create Data Table, import CSV | | `DT_Tags_Save.csv` | ⬜ Create Data Table, import CSV | | `DT_Tags_Environment.csv` | ⬜ Create Data Table, import CSV | | `DT_Tags_Combat.csv` | ⬜ Create Data Table, import CSV | | `DT_Tags_State.csv` | ⬜ Create Data Table, import CSV | | `DT_Tags_Audio.csv` | ⬜ Create Data Table, import CSV | | `DT_Tags_Achievement.csv` | ⬜ Create Data Table, import CSV | --- ## Phase 1: Player Core (02-player — 8 systems) | # | System | C++ H/CPP | BP Spec | BP Asset to Create | Status | |---|--------|-----------|---------|--------------------|--------| | 08 | `BPC_HealthSystem` | 🔵 BP-only | ✅ `08_BPC_HealthSystem.md` | BP child → attach to pawn | 🔵 | | 09 | `BPC_StaminaSystem` | 🔵 BP-only | ✅ `09_BPC_StaminaSystem.md` | BP child → attach to pawn | 🔵 | | 10 | `BPC_StressSystem` | 🔵 BP-only | ✅ `10_BPC_StressSystem.md` | BP child → attach to pawn | 🔵 | | 11 | `BPC_MovementStateSystem` | 🔵 BP-only | ✅ `11_BPC_MovementStateSystem.md` | BP child → attach to pawn | 🔵 | | 12 | `BPC_HidingSystem` | 🔵 BP-only | ✅ `12_BPC_HidingSystem.md` | BP child → attach to pawn | 🔵 | | 13 | `BPC_EmbodimentSystem` | 🔵 BP-only | ✅ `13_BPC_EmbodimentSystem.md` | BP child → attach to pawn | 🔵 | | 14 | `BPC_CameraStateLayer` | 🔵 BP-only | ✅ `14_BPC_CameraStateLayer.md` | BP child → attach to pawn | 🔵 | | 15 | `BPC_PlayerMetricsTracker` | 🔵 BP-only | ✅ `15_BPC_PlayerMetricsTracker.md` | BP child → attach to pawn | 🔵 | --- ## Phase 2-14: All Remaining Systems ### Interaction (03-interaction — 8 systems) | # | System | C++ | BP Spec | BP Asset | |---|--------|-----|---------|----------| | 16 | `BPC_InteractionDetector` | 🔵 | ✅ | BP child | | 17 | `I_HidingSpot` | 🔵 | ✅ | Implement on BP actors | | 18 | `BPC_DiegeticDisplay` | 🔵 | ✅ | BP child | | 19 | `BP_DoorActor` | 🔵 | ✅ | BP actor child | | 20 | `BP_PuzzleDeviceActor` | 🔵 | ✅ | BP actor child | | 21 | `BPC_ContextualTraversalSystem` | 🔵 | ✅ | BP child | | 22 | `BPC_PhysicsDragSystem` | 🔵 | ✅ | BP child | | 23 | `BPC_UsableWorldObjectSystem` | 🔵 | ✅ | BP child | ### Inventory (04-inventory — 11 systems) | # | System | C++ | BP Spec | BP Asset | |---|--------|-----|---------|----------| | 24 | `BPC_ContainerInventory` | 🔵 | ✅ | BP child | | 25 | `BP_ItemPickup` | 🔵 | ✅ | BP actor child | | 26 | `BPC_ActiveItemSystem` | 🔵 | ✅ | BP child | | 27 | `BPC_CollectibleTracker` | 🔵 | ✅ | BP child | | 28 | `BPC_ConsumableSystem` | 🔵 | ✅ | BP child | | 29 | `BPC_DocumentArchiveSystem` | 🔵 | ✅ | BP child | | 30 | `BPC_EquipmentSlotSystem` | 🔵 | ✅ | BP child | | 31 | `BPC_InventorySystem` | ✅ `Inventory/BPC_InventorySystem` | ✅ | None (use C++ component directly) | | 32 | `BPC_ItemCombineSystem` | 🔵 | ✅ | BP child | | 33 | `BPC_JournalSystem` | 🔵 | ✅ | BP child | | 34 | `BPC_KeyItemSystem` | 🔵 | ✅ | BP child | ### Save/Load (05-saveload — 9 systems) | # | System | C++ | BP Spec | BP Asset | |---|--------|-----|---------|----------| | 35 | `SS_SaveManager` | ✅ `Save/SS_SaveManager` | ✅ | None (auto-created subsystem) | | 36 | `I_Persistable` | ✅ `Core/I_InterfaceLibrary.h` | ✅ | Implement on actors | | 37 | `BP_Checkpoint` | 🔵 | ✅ | BP actor child | | 38 | `BPC_AltDeathSpaceSystem` | 🔵 | ✅ | BP child | | 39 | `BPC_DeathHandlingSystem` | 🔵 | ✅ | BP child | | 40 | `BPC_PersistentCorpseSystem` | 🔵 | ✅ | BP child | | 41 | `BPC_PersistentWorldStateRecorder` | 🔵 | ✅ | BP child | | 42 | `BPC_PlayerRespawnSystem` | 🔵 | ✅ | BP child | | 43 | `BPC_RunHistoryTracker` | 🔵 | ✅ | BP child | ### UI (06-ui — 14 systems) | # | System | C++ | BP Spec | BP Asset | |---|--------|-----|---------|----------| | 44 | `SS_UIManager` | 🔵 | ✅ | BP child (auto-created subsystem) | | 45 | `WBP_AccessibilityUI` | 🔵 | ✅ | Widget BP | | 46 | `WBP_DiegeticHUDFrame` | 🔵 | ✅ | Widget BP | | 47 | `WBP_HUDController` | 🔵 | ✅ | Widget BP | | 48 | `WBP_InteractionPromptDisplay` | 🔵 | ✅ | Widget BP | | 49 | `WBP_InventoryMenu` | 🔵 | ✅ | Widget BP | | 50 | `WBP_JournalDocumentViewer` | 🔵 | ✅ | Widget BP | | 51 | `WBP_MainMenu` | 🔵 | ✅ | Widget BP | | 52 | `WBP_MenuFlowController` | 🔵 | ✅ | Widget BP | | 53 | `WBP_NotificationToast` | 🔵 | ✅ | Widget BP | | 54 | `WBP_ObjectiveDisplay` | 🔵 | ✅ | Widget BP | | 55 | `WBP_PauseMenu` | 🔵 | ✅ | Widget BP | | 56 | `WBP_ScreenEffectController` | 🔵 | ✅ | Widget BP | | 57 | `WBP_SettingsMenu` | 🔵 | ✅ | Widget BP | ### Narrative (07-narrative — 11 systems) | # | System | C++ | BP Spec | BP Asset | |---|--------|-----|---------|----------| | 58-68 | All 11 systems | 🔵 | ✅ | BP children + DA instances | ### Weapons (08-weapons — 11 systems) | # | System | C++ | BP Spec | BP Asset | |---|--------|-----|---------|----------| | 69 | `BP_WeaponBase` | 🔵 | ✅ | BP actor child | | 70 | `BPC_AmmoComponent` | 🔵 | ✅ | BP child | | 71 | `BPC_CombatFeedbackComponent` | 🔵 | ✅ | BP child | | 72 | `BPC_DamageReceptionSystem` | ✅ `Weapons/BPC_DamageReceptionSystem` | ✅ | None (use C++ component) | | 73 | `BPC_DeathCauseTracker` | 🔵 | ✅ | BP child | | 74 | `BPC_FirearmSystem` | 🔵 | ✅ | BP child | | 75 | `BPC_HitReactionSystem` | 🔵 | ✅ | BP child | | 76 | `BPC_MeleeSystem` | 🔵 | ✅ | BP child | | 77 | `BPC_RecoilSystem` | 🔵 | ✅ | BP child | | 78 | `BPC_ReloadSystem` | 🔵 | ✅ | BP child | | 79 | `BPC_ShieldDefenseSystem` | 🔵 | ✅ | BP child | ### AI (09-ai — 9 systems) | # | System | C++ | BP Spec | BP Asset | |---|--------|-----|---------|----------| | 80-88 | All 9 systems | 🔵 | ✅ | BP children | ### Adaptive (10-adaptive — 15 systems) | # | System | C++ | BP Spec | BP Asset | |---|--------|-----|---------|----------| | 89-101 | All 13 core | 🔵 | ✅ | BP children | | 132 | `SS_AudioManager` | 🔵 | ✅ | BP child (auto-created subsystem) | | 133 | `BP_RoomAudioZone` | 🔵 | ✅ | BP actor child | ### Meta, Settings, Polish (11-13 — 13 systems) | # | System | C++ | BP Spec | BP Asset | |---|--------|-----|---------|----------| | 102-114 | All 13 systems | 🔵 | ✅ | BP children + widget BPs | ### Data Assets (14-data-assets — 16 systems) | # | System | C++ | BP Spec | BP Asset | |---|--------|-----|---------|----------| | 115-127, 129, 134-135 | All 16 systems | 🔵 | ✅ | ⬜ Data Asset instances (per content item) | ### Input + State (15-16 — 3 systems) | # | System | C++ | BP Spec | BP Asset | |---|--------|-----|---------|----------| | 128 | `SS_EnhancedInputManager` | ✅ `Input/SS_EnhancedInputManager` | ✅ | None (auto-created subsystem) | | 130 | `BPC_StateManager` | ✅ `Player/BPC_StateManager` | ✅ | None (use C++ component) | | 131 | `DA_StateGatingTable` | 🔵 | ✅ | ⬜ Data Asset instance (37 rules) | --- ## Summary Counts | Category | Count | |----------|-------| | **C++ systems written** | 12 | | **BP spec files complete** | 135 + 1 starter = 136 | | **BP components to create** | 76 (80 BPC_ total − 4 C++) | | **BP actors to create** | 11 | | **Widget BPs to create** | 14 | | **Data Asset instances to create** | Per-project (18 DA_ definitions) | | **GameInstance subsystems** (auto-created) | 7 (3 in C++, 4 BP) | | **Data Tables to create** | 11 | --- ## Quick Action List — What to Build Next ### Immediate (Phase 0 — Foundation) - [ ] Create 11 Data Tables, import CSVs, register in Project Settings - [ ] Create `DA_GameTagRegistry` Data Asset, assign TagDataTables - [ ] Create `BP_GameFramework` (child of `GI_GameFramework`), assign TagRegistry - [ ] Create `BP_CoreGameMode` (child of `GM_CoreGameMode`), set in Project Settings - [ ] Create `BP_CoreGameState` (child of `GS_CoreGameState`), set in GameMode defaults - [ ] Create `BP_CorePlayerController` + `BP_CorePlayerState` (BP specs 08 area) - [ ] Create `DA_ItemData` instances for initial items (weapons, consumables) ### Player Pawn Setup - [ ] Create player pawn BP with GASP - [ ] Add `BPC_StateManager` component → assign GatingTable - [ ] Add `BPC_InventorySystem` component → set grid size - [ ] Add `BPC_DamageReceptionSystem` component → set thresholds - [ ] Add remaining 76 `BPC_*` BP children as needed ### Data Asset Content - [ ] Create `DA_StateGatingTable` instance with 37 rules - [ ] Create `DA_EquipmentConfig` instance(s) for armor/weapons - [ ] Create `DA_AudioSettings`, `DA_RoomAcousticPreset` instances - [ ] Create remaining `DA_*` instances per project content --- *Status Checklist v1.0 — Updated 2026-05-20. Regenerate after each implementation phase.*