Update Developer Reference and add C++ Integration Guide
- 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.
This commit is contained in:
235
docs/checklists/cpp-blueprint-status.md
Normal file
235
docs/checklists/cpp-blueprint-status.md
Normal file
@@ -0,0 +1,235 @@
|
||||
# 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_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.*
|
||||
Reference in New Issue
Block a user