- Created a comprehensive implementation checklist for the Planar Capture System (Systems 136-147) detailing tasks across multiple phases including C++ core, material foundation, Blueprint actors, data assets, integration, and performance testing. - Added a developer reference document outlining the architecture, data flow, state machine, budget enforcement, render target pooling, horror features, integration points, multiplayer networking, performance characteristics, debugging methods, and build order for the capture systems. - Introduced examples of capture surface usage in the Project Void horror game, including specific implementations for mirrors, monitors, portals, and fake windows, along with a checklist for integration tasks.
343 lines
21 KiB
Markdown
343 lines
21 KiB
Markdown
# C++ & Blueprint Status Checklist — All 147 Systems
|
|
|
|
**Version:** 2.1 | **Generated:** 2026-05-22 | **C++ Files:** 27 `.h` + 27 `.cpp` (15 full implementations + 10 stubs)
|
|
|
|
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.
|
|
|
|
**Companion docs:**
|
|
- **Remaining BP build order:** [`docs/checklists/remaining-blueprint-build-order.md`](remaining-blueprint-build-order.md)
|
|
- **Prototype setup guide:** [`docs/developer/project-prototype-guide.md`](../developer/project-prototype-guide.md)
|
|
- **C++ per-class integration:** [`docs/developer/cpp-integration-guide.md`](../developer/cpp-integration-guide.md)
|
|
|
|
---
|
|
|
|
## Legend
|
|
|
|
| Symbol | Meaning |
|
|
|--------|---------|
|
|
| ✅ | **Done** — Full C++ implementation with logic + BP spec complete |
|
|
| 🟡 | **C++ Stub** — C++ header exists (UCLASS, basic vars, delegates). Blueprint child provides the full runtime implementation. |
|
|
| 🔵 | **BP Spec Only** — Full Blueprint spec exists, no C++ written. Full BP implementation required. |
|
|
| ⬜ | **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` | 🟡 Stub: vars + delegates | ✅ `08_BPC_HealthSystem.md` | BP child → implement health logic (take/heal damage, death, I_Damageable) → attach to pawn | 🟡 |
|
|
| 09 | `BPC_StaminaSystem` | 🟡 Stub: vars + delegates | ✅ `09_BPC_StaminaSystem.md` | BP child → implement stamina logic (drain, regen, exhaustion states) → attach to pawn | 🟡 |
|
|
| 10 | `BPC_StressSystem` | 🟡 Stub: enum + vars + delegates | ✅ `10_BPC_StressSystem.md` | BP child → implement stress logic (accumulation, decay, tier transitions) → attach to pawn | 🟡 |
|
|
| 11 | `BPC_MovementStateSystem` | 🟡 Stub: vars + delegates | ✅ `11_BPC_MovementStateSystem.md` | BP child → implement movement logic (CMC reads, GASP bridge, posture detection) → 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 | 🔵 |
|
|
| — | `PC_CoreController` | 🟡 Stub: minimal empty class | ✅ (covered in 02-player integration) | **BP child** `PC_CoreController` → add input routing, BeginPlay push IMC | 🟡 |
|
|
| — | `PS_CorePlayerState` | 🟡 Stub: minimal empty class | ✅ (covered in 02-player integration) | **BP child** `PS_CorePlayerState` → add replicated state variables | 🟡 |
|
|
|
|
---
|
|
|
|
## 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` | ✅ Full — `Weapons/BPC_DamageReceptionSystem` | ✅ | None (attach C++ component directly) |
|
|
| 73 | `BPC_DeathCauseTracker` | 🔵 | ✅ | BP child |
|
|
| 74 | `BPC_FirearmSystem` | 🔵 | ✅ | BP child |
|
|
| 75 | `BPC_HitReactionSystem` | 🟡 Stub: `PlayHitReaction()` + thresholds | ✅ | BP child → add animation selection/trigger logic → attach to pawn/enemy |
|
|
| 76 | `BPC_MeleeSystem` | 🔵 | ✅ | BP child |
|
|
| 77 | `BPC_RecoilSystem` | 🔵 | ✅ | BP child |
|
|
| 78 | `BPC_ReloadSystem` | 🔵 | ✅ | BP child |
|
|
| 79 | `BPC_ShieldDefenseSystem` | 🟡 Stub: shield health + block angle vars | ✅ | BP child → add raise/lower/block detection → attach to pawn |
|
|
|
|
### 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 | `DA_AdaptationRule` | 🔵 | ✅ | ⬜ Data Asset instances |
|
|
| 116 | `DA_AtmosphereProfile` | 🔵 | ✅ | ⬜ Data Asset instances |
|
|
| 117 | `DA_BehaviourVariant` | 🔵 | ✅ | ⬜ Data Asset instances |
|
|
| 118 | `DA_DataAssetArchitecture` | 🔵 | ✅ | Reference doc only |
|
|
| 119 | `DA_EncounterData` | 🔵 | ✅ | ⬜ Data Asset instances |
|
|
| 120 | `DA_EquipmentConfig` | 🟡 Stub: damage resist struct + `GetResistance()` | ✅ | ⬜ Data Asset instances per equipment piece |
|
|
| 121 | `DA_HapticProfile` | 🔵 | ✅ | ⬜ Data Asset instances |
|
|
| 122 | `DA_InteractionData` | 🔵 | ✅ | ⬜ Data Asset instances |
|
|
| 123 | `DA_ObjectiveData` | 🔵 | ✅ | ⬜ Data Asset instances |
|
|
| 124 | `DA_PuzzleData` | 🔵 | ✅ | ⬜ Data Asset instances |
|
|
| 125 | `DA_RareEvent` | 🔵 | ✅ | ⬜ Data Asset instances |
|
|
| 126 | `DA_RoomMutation` | 🔵 | ✅ | ⬜ Data Asset instances |
|
|
| 127 | `DA_ScareEvent` | 🔵 | ✅ | ⬜ Data Asset instances |
|
|
| 129 | `DA_InputMappingProfile` | 🔵 | ✅ | ⬜ Data Asset instances (per platform: PC/Xbox/PS5) |
|
|
| 134 | `DA_AudioSettings` | 🔵 | ✅ | ⬜ Data Asset instance (1 global) |
|
|
| 135 | `DA_RoomAcousticPreset` | 🔵 | ✅ | ⬜ Data Asset instances (per zone) |
|
|
|
|
### Input + State (15-16 — 3 systems)
|
|
|
|
| # | System | C++ | BP Spec | BP Asset |
|
|
|---|--------|-----|---------|----------|
|
|
| 128 | `SS_EnhancedInputManager` | ✅ Full — `Input/SS_EnhancedInputManager` | ✅ | None (auto-created subsystem) |
|
|
| 130 | `BPC_StateManager` | ✅ Full — `Player/BPC_StateManager` | ✅ | None (attach C++ component directly to pawn) |
|
|
| 131 | `DA_StateGatingTable` | 🟡 Stub: `FStateGatingRule` struct + `IsActionGated()` query | ✅ | ⬜ Data Asset instance (37 gating rules) |
|
|
|
|
---
|
|
|
|
## Phase 17: Planar Capture System (17-capture — 12 systems)
|
|
|
|
### Capture Components & Actors (17-capture)
|
|
|
|
| # | System | C++ | BP Spec | BP Asset |
|
|
|---|--------|-----|---------|----------|
|
|
| 136 | `BPC_PlanarCapture` | ✅ Full — `Capture/BPC_PlanarCapture` | ✅ | None (use C++ component directly) |
|
|
| 137 | `BP_PlanarCaptureActor` | ✅ Full — `Capture/BP_PlanarCaptureActor` | ✅ | BP children (139-143 extend this) |
|
|
| 138 | `SS_PlanarCaptureManager` | ✅ Full — `Capture/SS_PlanarCaptureManager` | ✅ | None (auto-created WorldSubsystem) |
|
|
| 139 | `BP_Mirror` | 🔵 BP-only | ✅ | BP actor child of BP_PlanarCaptureActor |
|
|
| 140 | `BP_Portal` | 🔵 BP-only | ✅ | BP actor child of BP_PlanarCaptureActor |
|
|
| 141 | `BP_Monitor` | 🔵 BP-only | ✅ | BP actor child of BP_PlanarCaptureActor |
|
|
| 142 | `BP_HorrorMirror` | 🔵 BP-only (extends BP_Mirror) | ✅ | BP actor child of BP_Mirror |
|
|
| 143 | `BP_FakeWindow` | 🔵 BP-only | ✅ | BP actor child of BP_PlanarCaptureActor |
|
|
| 144 | `M_CaptureSurface_Master` | ⬜ Content Asset | ✅ | Create Material in editor |
|
|
| 145 | `MPC_CaptureSurface` | ⬜ Content Asset | ✅ | Create MPC in editor |
|
|
| 146 | `DA_PlanarCaptureProfile` | 🔵 BP-only | ✅ | ⬜ Data Asset instances |
|
|
| 147 | `MI_MirrorInstances` | ⬜ Content Asset | ✅ | 7 Material Instance Constants |
|
|
|
|
---
|
|
|
|
## Quick Action List — What to Build Next
|
|
|
|
### Immediate (Phase 0 — Foundation)
|
|
- [ ] Create 11 Data Tables from CSV, import, register in Project Settings
|
|
- [ ] Create `DA_GameTagRegistry` Data Asset, assign TagDataTables array (11 entries)
|
|
- [ ] Create `BP_GameFramework` (child of `GI_GameFramework`), assign TagRegistry
|
|
- [ ] Create `BP_CoreGameMode` (child of `GM_CoreGameMode`), set classes in defaults
|
|
- [ ] Create `BP_CoreGameState` (child of `GS_CoreGameState`)
|
|
- [ ] Create `PC_CoreController` + `PS_CorePlayerState` BP children (C++ stub parents)
|
|
- [ ] Create 22 IA_* Input Actions + 5 IMC_* Input Mapping Contexts
|
|
- [ ] Create `DA_InputMappingProfile` instances (PC/Xbox/PS5)
|
|
|
|
### Player Pawn Setup
|
|
- [ ] Create player pawn BP (Character parent) with basic movement
|
|
- [ ] Add `BPC_StateManager` component → assign `DA_StateGatingTable`
|
|
- [ ] Add `BPC_HealthSystem` (C++ stub) → implement health logic in BP child
|
|
- [ ] Add `BPC_StaminaSystem` (C++ stub) → implement stamina logic
|
|
- [ ] Add `BPC_StressSystem` (C++ stub) → implement stress logic
|
|
- [ ] Add `BPC_MovementStateSystem` (C++ stub) → implement movement bridge
|
|
- [ ] Add `BPC_InventorySystem` (C++ full) → set grid size + max weight
|
|
- [ ] Add `BPC_DamageReceptionSystem` (C++ full) → set thresholds
|
|
- [ ] Add `BPC_ShieldDefenseSystem` (C++ stub) → implement shield logic
|
|
- [ ] Add `BPC_HitReactionSystem` (C++ stub) → implement hit reaction animations
|
|
- [ ] Add remaining 55 `BPC_*` BP children as needed (see build order doc)
|
|
|
|
### State Management
|
|
- [ ] Create `E_PlayerActionState` enum (42 values) in editor
|
|
- [ ] Create `E_OverlayState` enum (18 values) in editor
|
|
- [ ] Create `E_ActionRequestResult` enum (8 values) in editor
|
|
- [ ] Create `E_PlayerVitalSignals` enum (5 values) in editor
|
|
- [ ] Create `S_StateChangeRequest`, `S_StateGatingRule`, `S_ActionPermissionResult` structs
|
|
- [ ] Create `DA_StateGatingTable` instance → populate 37 gating rules
|
|
|
|
### Data Asset Content
|
|
- [ ] Create `DA_Item_*` instances for test items (medkit, key, etc.)
|
|
- [ ] Create `DA_Equipment_*` instances for armor/weapons
|
|
- [ ] Create `DA_AudioSettings`, `DA_RoomAcousticPreset` instances
|
|
- [ ] Create remaining `DA_*` instances per project content
|
|
|
|
### Prototype Testing
|
|
- [ ] Follow [`docs/developer/project-prototype-guide.md`](../developer/project-prototype-guide.md) for step-by-step setup
|
|
- [ ] Run the [Verification Checklist](../developer/project-prototype-guide.md#10-verification-checklist)
|
|
- [ ] Expand per the [Next Steps](../developer/project-prototype-guide.md#11-next-steps--expanding-the-prototype)
|
|
|
|
---
|
|
|
|
## C++ Source File Index
|
|
|
|
### Full Implementations (15 systems — logic complete, no BP child needed for functionality)
|
|
|
|
| # | C++ Class | Header | Source | Size |
|
|
|---|-----------|--------|--------|------|
|
|
| 01 | `UDA_GameTagRegistry` | `Public/Core/DA_GameTagRegistry.h` | `Private/Core/DA_GameTagRegistry.cpp` | 105 + cpp |
|
|
| 02 | `UFL_GameUtilities` | `Public/Core/FL_GameUtilities.h` | `Private/Core/FL_GameUtilities.cpp` | 169 + cpp |
|
|
| 03 | 9 `I_` Interfaces | `Public/Core/I_InterfaceLibrary.h` | — | 317 (header-only) |
|
|
| 04 | `UGI_GameFramework` | `Public/Core/GI_GameFramework.h` | `Private/Core/GI_GameFramework.cpp` | 226 + cpp |
|
|
| 05 | `AGM_CoreGameMode` | `Public/Core/GM_CoreGameMode.h` | `Private/Core/GM_CoreGameMode.cpp` | 116 + cpp |
|
|
| 06 | `AGS_CoreGameState` | `Public/Core/GS_CoreGameState.h` | `Private/Core/GS_CoreGameState.cpp` | 144 + cpp |
|
|
| 07 | `UDA_ItemData` | `Public/Inventory/DA_ItemData.h` | `Private/Inventory/DA_ItemData.cpp` | 232 + cpp |
|
|
| 31 | `UBPC_InventorySystem` | `Public/Inventory/BPC_InventorySystem.h` | `Private/Inventory/BPC_InventorySystem.cpp` | 210 + cpp |
|
|
| 35 | `USS_SaveManager` | `Public/Save/SS_SaveManager.h` | `Private/Save/SS_SaveManager.cpp` | 193 + cpp |
|
|
| 72 | `UBPC_DamageReceptionSystem` | `Public/Weapons/BPC_DamageReceptionSystem.h` | `Private/Weapons/BPC_DamageReceptionSystem.cpp` | 150 + cpp |
|
|
| 128 | `USS_EnhancedInputManager` | `Public/Input/SS_EnhancedInputManager.h` | `Private/Input/SS_EnhancedInputManager.cpp` | 232 + cpp |
|
|
| 130 | `UBPC_StateManager` | `Public/Player/BPC_StateManager.h` | `Private/Player/BPC_StateManager.cpp` | 246 + cpp |
|
|
| 136 | `UBPC_PlanarCapture` | `Public/Capture/BPC_PlanarCapture.h` | `Private/Capture/BPC_PlanarCapture.cpp` | 360 + cpp |
|
|
| 137 | `ABP_PlanarCaptureActor` | `Public/Capture/BP_PlanarCaptureActor.h` | `Private/Capture/BP_PlanarCaptureActor.cpp` | 250 + cpp |
|
|
| 138 | `ASS_PlanarCaptureManager` | `Public/Capture/SS_PlanarCaptureManager.h` | `Private/Capture/SS_PlanarCaptureManager.cpp` | 330 + cpp |
|
|
|
|
### C++ Stubs (10 systems — UCLASS + basic vars/delegates, need BP child for logic)
|
|
|
|
| # | C++ Class | Header | Source | Purpose |
|
|
|---|-----------|--------|--------|---------|
|
|
| 08 | `UBPC_HealthSystem` | `Public/Player/BPC_HealthSystem.h` | `Private/Player/BPC_HealthSystem.cpp` | Health vars + delegates |
|
|
| 09 | `UBPC_StaminaSystem` | `Public/Player/BPC_StaminaSystem.h` | `Private/Player/BPC_StaminaSystem.cpp` | Stamina vars + delegate |
|
|
| 10 | `UBPC_StressSystem` | `Public/Player/BPC_StressSystem.h` | `Private/Player/BPC_StressSystem.cpp` | Stress enum + vars + delegate |
|
|
| 11 | `UBPC_MovementStateSystem` | `Public/Player/BPC_MovementStateSystem.h` | `Private/Player/BPC_MovementStateSystem.cpp` | Movement vars + delegate |
|
|
| — | `APC_CoreController` | `Public/Player/PC_CoreController.h` | `Private/Player/PC_CoreController.cpp` | Minimal controller stub |
|
|
| — | `APS_CorePlayerState` | `Public/Player/PS_CorePlayerState.h` | `Private/Player/PS_CorePlayerState.cpp` | Minimal player state stub |
|
|
| 75 | `UBPC_HitReactionSystem` | `Public/Weapons/BPC_HitReactionSystem.h` | `Private/Weapons/BPC_HitReactionSystem.cpp` | Hit reaction stub |
|
|
| 79 | `UBPC_ShieldDefenseSystem` | `Public/Weapons/BPC_ShieldDefenseSystem.h` | `Private/Weapons/BPC_ShieldDefenseSystem.cpp` | Shield defense stub |
|
|
| 120 | `UDA_EquipmentConfig` | `Public/Inventory/DA_EquipmentConfig.h` | `Private/Inventory/DA_EquipmentConfig.cpp` | Equipment config stub |
|
|
| 131 | `UDA_StateGatingTable` | `Public/State/DA_StateGatingTable.h` | `Private/State/DA_StateGatingTable.cpp` | Gating table stub |
|
|
|
|
### Planar Capture Systems (3 full C++ implementations)
|
|
|
|
| # | C++ Class | Header | Source | Purpose |
|
|
|---|-----------|--------|--------|---------|
|
|
| 136 | `UBPC_PlanarCapture` | `Public/Capture/BPC_PlanarCapture.h` | `Private/Capture/BPC_PlanarCapture.cpp` | SceneCapture2D lifecycle, camera math, horror features |
|
|
| 137 | `ABP_PlanarCaptureActor` | `Public/Capture/BP_PlanarCaptureActor.h` | `Private/Capture/BP_PlanarCaptureActor.cpp` | Placeable surface actor with mesh, MDI, proximity trigger |
|
|
| 138 | `ASS_PlanarCaptureManager` | `Public/Capture/SS_PlanarCaptureManager.h` | `Private/Capture/SS_PlanarCaptureManager.cpp` | Global budget manager, RT pool, surface scoring |
|
|
|
|
### Capture Utility (Static Library)
|
|
|
|
| # | C++ Class | Header | Source | Purpose |
|
|
|---|-----------|--------|--------|---------|
|
|
| — | `UPlanarCaptureCameraUtils` | `Public/Capture/PlanarCaptureCameraUtils.h` | `Private/Capture/PlanarCaptureCameraUtils.cpp` | Mirror/portal/oblique projection math |
|
|
|
|
### Capture Common (Shared Types)
|
|
|
|
| # | C++ Class | Header | Source | Purpose |
|
|
|---|-----------|--------|--------|---------|
|
|
| — | `PlanarCaptureCommon.h` | `Public/Capture/PlanarCaptureCommon.h` | `Private/Capture/PlanarCaptureCommon.cpp` | Shared enums, structs, quality profiles |
|
|
|
|
---
|
|
|
|
*Status Checklist v2.1 — Updated 2026-05-22. See [`remaining-blueprint-build-order.md`](remaining-blueprint-build-order.md) for the prioritized build list.*
|