- Updated version in INDEX.md from 1.3 to 1.4, reflecting new files and C++ systems migrated. - Added cpp-integration-guide.md detailing setup and usage for 12 C++ classes. - Introduced cpp-blueprint-status.md to track the status of all 135 systems, including C++ and Blueprint specifications.
11 KiB
11 KiB
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/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_GameTagRegistryData Asset, assign TagDataTables - Create
BP_GameFramework(child ofGI_GameFramework), assign TagRegistry - Create
BP_CoreGameMode(child ofGM_CoreGameMode), set in Project Settings - Create
BP_CoreGameState(child ofGS_CoreGameState), set in GameMode defaults - Create
BP_CorePlayerController+BP_CorePlayerState(BP specs 08 area) - Create
DA_ItemDatainstances for initial items (weapons, consumables)
Player Pawn Setup
- Create player pawn BP with GASP
- Add
BPC_StateManagercomponent → assign GatingTable - Add
BPC_InventorySystemcomponent → set grid size - Add
BPC_DamageReceptionSystemcomponent → set thresholds - Add remaining 76
BPC_*BP children as needed
Data Asset Content
- Create
DA_StateGatingTableinstance with 37 rules - Create
DA_EquipmentConfiginstance(s) for armor/weapons - Create
DA_AudioSettings,DA_RoomAcousticPresetinstances - Create remaining
DA_*instances per project content
Status Checklist v1.0 — Updated 2026-05-20. Regenerate after each implementation phase.