- 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.
21 KiB
21 KiB
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 - Prototype setup guide:
docs/developer/project-prototype-guide.md - C++ per-class integration:
docs/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_GameTagRegistryData Asset, assign TagDataTables array (11 entries) - Create
BP_GameFramework(child ofGI_GameFramework), assign TagRegistry - Create
BP_CoreGameMode(child ofGM_CoreGameMode), set classes in defaults - Create
BP_CoreGameState(child ofGS_CoreGameState) - Create
PC_CoreController+PS_CorePlayerStateBP children (C++ stub parents) - Create 22 IA_* Input Actions + 5 IMC_* Input Mapping Contexts
- Create
DA_InputMappingProfileinstances (PC/Xbox/PS5)
Player Pawn Setup
- Create player pawn BP (Character parent) with basic movement
- Add
BPC_StateManagercomponent → assignDA_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_PlayerActionStateenum (42 values) in editor - Create
E_OverlayStateenum (18 values) in editor - Create
E_ActionRequestResultenum (8 values) in editor - Create
E_PlayerVitalSignalsenum (5 values) in editor - Create
S_StateChangeRequest,S_StateGatingRule,S_ActionPermissionResultstructs - Create
DA_StateGatingTableinstance → 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_RoomAcousticPresetinstances - Create remaining
DA_*instances per project content
Prototype Testing
- Follow
docs/developer/project-prototype-guide.mdfor step-by-step setup - Run the Verification Checklist
- Expand per the Next Steps
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 for the prioritized build list.