Files
UE5-Modular-Game-Framework/docs/blueprints/INDEX.md
Lefteris Notas 0a2d08b2ad Add Planar Capture System implementation checklist and developer reference
- 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.
2026-05-22 15:36:08 +03:00

336 lines
38 KiB
Markdown

# Master Blueprint Index — UE5 Modular Game Framework
**Version:** 3.3 | **Generated:** 2026-05-21 | **Total Files:** 135 numbered + 1 starter + 1 supplementary (137 total specs) | **C++:** 22 source files
This document is the canonical index of every Blueprint specification file in the framework. Each entry links to its full spec document and includes: file name, asset type, parent class, purpose summary, and key dependencies.
### Companion Documents
| Document | Path | Purpose |
|----------|------|---------|
| **Remaining BP Build Order** | [`../checklists/remaining-blueprint-build-order.md`](../checklists/remaining-blueprint-build-order.md) | Prioritized list of every BP asset to build, with C++ status per system |
| **C++/BP Status Grid** | [`../checklists/cpp-blueprint-status.md`](../checklists/cpp-blueprint-status.md) | Complete 135-system grid: C++ status, BP spec status, remaining assets |
| **C++ Integration Guide** | [`../developer/cpp-integration-guide.md`](../developer/cpp-integration-guide.md) | Per-C++-class setup steps, usage patterns, BP child requirements |
| **Prototype Setup Guide** | [`../developer/project-prototype-guide.md`](../developer/project-prototype-guide.md) | Step-by-step from blank project to working prototype |
---
## Directory Map
```
docs/blueprints/
├── INDEX.md ← THIS FILE
├── TEMPLATE.md ← Spec template v2.0
├── AUDIT_REPORT.md ← Clean slate audit
├── 00-project-setup/ ← Project Setup & Starter Assets (1 file)
│ └── GI_StarterGameInstance.md ← Minimal GameInstance; tag validation entry point
├── 01-core/ ← Foundation (7 files + 11 Data Table CSVs + 1 Macro Library)
│ ├── data-tables/ ← Per-category Gameplay Tag Data Tables (NEW — replaces DT_ProjectTags.csv)
│ │ ├── DT_Tags_Player.csv (34 tags)
│ │ ├── DT_Tags_Interaction.csv (36 tags)
│ │ ├── DT_Tags_Item.csv (26 tags)
│ │ ├── DT_Tags_Narrative.csv (48 tags)
│ │ ├── DT_Tags_AI.csv (23 tags)
│ │ ├── DT_Tags_Save.csv (22 tags)
│ │ ├── DT_Tags_Environment.csv (30 tags)
│ │ ├── DT_Tags_Combat.csv (26 tags)
│ │ ├── DT_Tags_State.csv (39 tags)
│ │ ├── DT_Tags_Audio.csv (30 tags)
│ │ └── DT_Tags_Achievement.csv (20 tags)
│ └── DT_ProjectTags.csv [DEPRECATED — migration reference only]
├── 02-player/ ← Player State & Embodiment (8 files)
├── 03-interaction/ ← Interaction & World Manipulation (8 files)
├── 04-inventory/ ← Inventory, Items & Collectibles (11 files)
├── 05-saveload/ ← Save, Load, Persistence & Death Loop (9 files)
├── 06-ui/ ← UI, Menus & Diegetic Presentation (14 files)
├── 07-narrative/ ← Narrative, Dialogue, Objective & Choice (11 files)
├── 08-weapons/ ← Weapon, Equipment & Damage (11 files)
├── 09-ai/ ← AI, Perception & Encounters (9 files)
├── 10-adaptive/ ← Adaptive Environment, Atmosphere & Scare (15 files)
├── 11-meta/ ← Achievements, Progression & Meta (2 files)
├── 12-settings/ ← Settings, Accessibility & Platform (2 files)
├── 13-polish/ ← Tutorial, Loading, Credits, Debug (9 files)
├── 14-data-assets/ ← Data Asset definitions (16 files)
├── 15-input/ ← Enhanced Input System (1 file)
├── 16-state/ ← State Management (2 files)
└── 17-capture/ ← Planar Capture System (12 files)
```
---
## Full Index — Sorted by File Number
| # | File Name | Asset Type | Parent Class | Short Purpose | Category |
|---|-----------|-----------|-------------|---------------|----------|
| — | [`GI_StarterGameInstance`](00-project-setup/GI_StarterGameInstance.md) | `GI_` Game Instance | `GameInstance` | Minimal GameInstance; loads DA_GameTagRegistry, validates tags, broadcasts OnFrameworkReady | 00-project-setup |
| 01 | [`01_DA_GameTagRegistry`](01-core/01_DA_GameTagRegistry.md) | `DA_` Data Asset | `PrimaryDataAsset` | Central gameplay tag registry; maps tags to data/assets | 01-core |
| 02 | [`02_FL_GameUtilities`](01-core/02_FL_GameUtilities.md) | `FL_` Function Library | `BlueprintFunctionLibrary` | Shared utility functions (logging, tag queries, math) | 01-core |
| — | [`02a_ML_GameUtilities`](01-core/02a_ML_GameUtilities.md) | `ML_` Macro Library | `MacroLibrary` | **BP-Only companion:** 24 macros (no C++ required) — subsystem access, math, tags, text, screen, debug | 01-core |
| 03 | [`03_I_InterfaceLibrary`](01-core/03_I_InterfaceLibrary.md) | `I_` Interface | `Interface` | All framework interfaces (I_Damageable, I_Interactable, I_Persistable, etc.) | 01-core |
| 04 | [`04_GI_GameFramework`](01-core/04_GI_GameFramework.md) | `GI_` Game Instance | `GameInstance` | Application kernel; owns subsystems, game phases, platform init | 01-core |
| 05 | [`05_GM_CoreGameMode`](01-core/05_GM_CoreGameMode.md) | `GM_` Game Mode | `GameModeBase` | Core game mode; spawns player, sets default classes, pause control | 01-core |
| 06 | [`06_GS_CoreGameState`](01-core/06_GS_CoreGameState.md) | `GS_` Game State | `GameStateBase` | Shared game state; tracks global flags, phase, timer | 01-core |
| 07 | [`07_DA_ItemData`](01-core/07_DA_ItemData.md) | `DA_` Data Asset | `PrimaryDataAsset` | Base item data asset; inherited by all item types | 01-core |
| — | — | — | — | — | — |
| 08 | [`08_BPC_HealthSystem`](02-player/08_BPC_HealthSystem.md) | `BPC_` Component | `ActorComponent` | Player health, damage resistance, death trigger, healing | 02-player |
| 09 | [`09_BPC_StaminaSystem`](02-player/09_BPC_StaminaSystem.md) | `BPC_` Component | `ActorComponent` | Stamina pool, sprint/action drain, exhaustion states, regen | 02-player |
| 10 | [`10_BPC_StressSystem`](02-player/10_BPC_StressSystem.md) | `BPC_` Component | `ActorComponent` | Psychological stress, tiers (Calm→Catatonic), hallucinations | 02-player |
| 11 | [`11_BPC_MovementStateSystem`](02-player/11_BPC_MovementStateSystem.md) | `BPC_` Component | `ActorComponent` | Movement mode + posture tracking; GASP liaison; footsteps | 02-player |
| 12 | [`12_BPC_HidingSystem`](02-player/12_BPC_HidingSystem.md) | `BPC_` Component | `ActorComponent` | Hide/peek/breath-hold; LOS checks; stress decay while hidden | 02-player |
| 13 | [`13_BPC_EmbodimentSystem`](02-player/13_BPC_EmbodimentSystem.md) | `BPC_` Component | `ActorComponent` | First-person body mesh, arm IK, visibility modes, overlays | 02-player |
| 14 | [`14_BPC_CameraStateLayer`](02-player/14_BPC_CameraStateLayer.md) | `BPC_` Component | `ActorComponent` | Camera FOV/offset/rotation layers for all states (combat, hide, inspect) | 02-player |
| 15 | [`15_BPC_PlayerMetricsTracker`](02-player/15_BPC_PlayerMetricsTracker.md) | `BPC_` Component | `ActorComponent` | Tracks player metrics: accuracy, deaths, playstyle ratios | 02-player |
| — | — | — | — | — | — |
| 16 | [`16_BPC_InteractionDetector`](03-interaction/16_BPC_InteractionDetector.md) | `BPC_` Component | `ActorComponent` | Raycast-based interaction detection, hold/press, prompt display | 03-interaction |
| 17 | [`17_I_HidingSpot`](03-interaction/17_I_HidingSpot.md) | `I_` Interface | `Interface` | Interface for hideable world objects (lockers, cover, grass) | 03-interaction |
| 18 | [`18_BPC_DiegeticDisplay`](03-interaction/18_BPC_DiegeticDisplay.md) | `BPC_` Component | `ActorComponent` | In-world screen displays (wristwatch, monitors, holograms) | 03-interaction |
| 19 | [`19_BP_DoorActor`](03-interaction/19_BP_DoorActor.md) | `BP_` Actor | `Actor` | Physical door with open/close/lock/barricade/trap states | 03-interaction |
| 20 | [`20_BP_PuzzleDeviceActor`](03-interaction/20_BP_PuzzleDeviceActor.md) | `BP_` Actor | `Actor` | Puzzle device base; state machine, solution checking, reward | 03-interaction |
| 21 | [`21_BPC_ContextualTraversalSystem`](03-interaction/21_BPC_ContextualTraversalSystem.md) | `BPC_` Component | `ActorComponent` | Contextual vault/mantle/slide/squeeze/climb via Motion Warping | 03-interaction |
| 22 | [`22_BPC_PhysicsDragSystem`](03-interaction/22_BPC_PhysicsDragSystem.md) | `BPC_` Component | `ActorComponent` | Grab, drag, and release physics objects | 03-interaction |
| 23 | [`23_BPC_UsableWorldObjectSystem`](03-interaction/23_BPC_UsableWorldObjectSystem.md) | `BPC_` Component | `ActorComponent` | Generic world object use (levers, valves, buttons, panels) | 03-interaction |
| — | — | — | — | — | — |
| 24 | [`24_BPC_ContainerInventory`](04-inventory/24_BPC_ContainerInventory.md) | `BPC_` Component | `ActorComponent` | World container inventory (chests, drawers, cabinets, safes) | 04-inventory |
| 25 | [`25_BP_ItemPickup`](04-inventory/25_BP_ItemPickup.md) | `BP_` Actor | `Actor` | Physical item pickup in world with bob/rotate, pickup animation | 04-inventory |
| 26 | [`26_BPC_ActiveItemSystem`](04-inventory/26_BPC_ActiveItemSystem.md) | `BPC_` Component | `ActorComponent` | Quick-slot item management; contextual item use | 04-inventory |
| 27 | [`27_BPC_CollectibleTracker`](04-inventory/27_BPC_CollectibleTracker.md) | `BPC_` Component | `ActorComponent` | Collectible tracking; found count, set bonuses, reward unlocks | 04-inventory |
| 28 | [`28_BPC_ConsumableSystem`](04-inventory/28_BPC_ConsumableSystem.md) | `BPC_` Component | `ActorComponent` | Consumable use (health packs, syringes, temporary buffs) | 04-inventory |
| 29 | [`29_BPC_DocumentArchiveSystem`](04-inventory/29_BPC_DocumentArchiveSystem.md) | `BPC_` Component | `ActorComponent` | Document/journal archive; read, categorize, flag as important | 04-inventory |
| 30 | [`30_BPC_EquipmentSlotSystem`](04-inventory/30_BPC_EquipmentSlotSystem.md) | `BPC_` Component | `ActorComponent` | Equipment slots (weapon, armor, tool); equip/unequip validation | 04-inventory |
| 31 | [`31_BPC_InventorySystem`](04-inventory/31_BPC_InventorySystem.md) | `BPC_` Component | `ActorComponent` | Core inventory grid; add/remove/sort/stack/weight management | 04-inventory |
| 32 | [`32_BPC_ItemCombineSystem`](04-inventory/32_BPC_ItemCombineSystem.md) | `BPC_` Component | `ActorComponent` | Item combination crafting; recipe validation, result generation | 04-inventory |
| 33 | [`33_BPC_JournalSystem`](04-inventory/33_BPC_JournalSystem.md) | `BPC_` Component | `ActorComponent` | Quest/objective journal; active quests, completed, failed | 04-inventory |
| 34 | [`34_BPC_KeyItemSystem`](04-inventory/34_BPC_KeyItemSystem.md) | `BPC_` Component | `ActorComponent` | Key item tracking; use-on-target, consumed-on-use | 04-inventory |
| — | — | — | — | — | — |
| 35 | [`35_SS_SaveManager`](05-saveload/35_SS_SaveManager.md) | `SS_` Subsystem | `GameInstanceSubsystem` | Save/load subsystem; slot management, serializer, manifest | 05-saveload |
| 36 | [`36_I_Persistable`](05-saveload/36_I_Persistable.md) | `I_` Interface | `Interface` | Persistence interface for any actor that saves state | 05-saveload |
| 37 | [`37_BP_Checkpoint`](05-saveload/37_BP_Checkpoint.md) | `BP_` Actor | `Actor` | Checkpoint actor; respawn point, activation, save-on-touch | 05-saveload |
| 38 | [`38_BPC_AltDeathSpaceSystem`](05-saveload/38_BPC_AltDeathSpaceSystem.md) | `BPC_` Component | `ActorComponent` | Alternate death/void space; enter, explore, find exit | 05-saveload |
| 39 | [`39_BPC_DeathHandlingSystem`](05-saveload/39_BPC_DeathHandlingSystem.md) | `BPC_` Component | `ActorComponent` | Death orchestrator; outcome determination, animation, respawn | 05-saveload |
| 40 | [`40_BPC_PersistentCorpseSystem`](05-saveload/40_BPC_PersistentCorpseSystem.md) | `BPC_` Component | `ActorComponent` | Corpse persistence across death/respawn/level transitions | 05-saveload |
| 41 | [`41_BPC_PersistentWorldStateRecorder`](05-saveload/41_BPC_PersistentWorldStateRecorder.md) | `BPC_` Component | `ActorComponent` | Records world state changes (doors, items, enemies) for save | 05-saveload |
| 42 | [`42_BPC_PlayerRespawnSystem`](05-saveload/42_BPC_PlayerRespawnSystem.md) | `BPC_` Component | `ActorComponent` | Respawn logic; checkpoint resolution, state restoration | 05-saveload |
| 43 | [`43_BPC_RunHistoryTracker`](05-saveload/43_BPC_RunHistoryTracker.md) | `BPC_` Component | `ActorComponent` | Run/session history; death count, time, checkpoint progression | 05-saveload |
| — | — | — | — | — | — |
| 44 | [`44_SS_UIManager`](06-ui/44_SS_UIManager.md) | `SS_` Subsystem | `GameInstanceSubsystem` | UI subsystem; menu stack, context-based UI switching, input mode | 06-ui |
| 45 | [`45_WBP_AccessibilityUI`](06-ui/45_WBP_AccessibilityUI.md) | `WBP_` Widget | `UserWidget` | Accessibility settings UI; subtitles, colorblind, controller | 06-ui |
| 46 | [`46_WBP_DiegeticHUDFrame`](06-ui/46_WBP_DiegeticHUDFrame.md) | `WBP_` Widget | `UserWidget` | Diegetic in-world HUD frame (on wristwatch, helmet, etc.) | 06-ui |
| 47 | [`47_WBP_HUDController`](06-ui/47_WBP_HUDController.md) | `WBP_` Widget | `UserWidget` | Root HUD widget; manages all HUD sub-widgets | 06-ui |
| 48 | [`48_WBP_InteractionPromptDisplay`](06-ui/48_WBP_InteractionPromptDisplay.md) | `WBP_` Widget | `UserWidget` | Interaction prompt popup; shows key, description, hold progress | 06-ui |
| 49 | [`49_WBP_InventoryMenu`](06-ui/49_WBP_InventoryMenu.md) | `WBP_` Widget | `UserWidget` | Inventory grid UI; drag-drop, sort, examine, equip, drop | 06-ui |
| 50 | [`50_WBP_JournalDocumentViewer`](06-ui/50_WBP_JournalDocumentViewer.md) | `WBP_` Widget | `UserWidget` | Document/journal viewer; pages, font styles, highlights | 06-ui |
| 51 | [`51_WBP_MainMenu`](06-ui/51_WBP_MainMenu.md) | `WBP_` Widget | `UserWidget` | Main menu; new game, continue, load, settings, quit | 06-ui |
| 52 | [`52_WBP_MenuFlowController`](06-ui/52_WBP_MenuFlowController.md) | `WBP_` Widget | `UserWidget` | Menu state machine; manages menu transitions and back navigation | 06-ui |
| 53 | [`53_WBP_NotificationToast`](06-ui/53_WBP_NotificationToast.md) | `WBP_` Widget | `UserWidget` | Toast notification; objective update, item found, achievement | 06-ui |
| 54 | [`54_WBP_ObjectiveDisplay`](06-ui/54_WBP_ObjectiveDisplay.md) | `WBP_` Widget | `UserWidget` | Active objective HUD element; shows current quest/objective | 06-ui |
| 55 | [`55_WBP_PauseMenu`](06-ui/55_WBP_PauseMenu.md) | `WBP_` Widget | `UserWidget` | Pause menu; resume, settings, save, load, quit to menu | 06-ui |
| 56 | [`56_WBP_ScreenEffectController`](06-ui/56_WBP_ScreenEffectController.md) | `WBP_` Widget | `UserWidget` | Full-screen effects; damage vignette, stress, healing, flash | 06-ui |
| 57 | [`57_WBP_SettingsMenu`](06-ui/57_WBP_SettingsMenu.md) | `WBP_` Widget | `UserWidget` | Settings menu; audio, video, controls, gameplay, accessibility | 06-ui |
| — | — | — | — | — | — |
| 58 | [`58_BPC_NarrativeStateSystem`](07-narrative/58_BPC_NarrativeStateSystem.md) | `BPC_` Component | `ActorComponent` | Narrative state machine; flags, milestones, chapter progression | 07-narrative |
| 59 | [`59_BPC_ObjectiveSystem`](07-narrative/59_BPC_ObjectiveSystem.md) | `BPC_` Component | `ActorComponent` | Objective tracker; activate, complete, fail, branching objectives | 07-narrative |
| 60 | [`60_BPC_DialoguePlaybackSystem`](07-narrative/60_BPC_DialoguePlaybackSystem.md) | `BPC_` Component | `ActorComponent` | Dialogue playback; line queue, VO, subtitles, auto-advance | 07-narrative |
| 61 | [`61_BPC_DialogueChoiceSystem`](07-narrative/61_BPC_DialogueChoiceSystem.md) | `BPC_` Component | `ActorComponent` | Dialogue choices; present, select, filter by flags, consequence | 07-narrative |
| 62 | [`62_BPC_BranchingConsequenceSystem`](07-narrative/62_BPC_BranchingConsequenceSystem.md) | `BPC_` Component | `ActorComponent` | Narrative consequence execution; state changes, item grants, triggers | 07-narrative |
| 63 | [`63_BPC_TrialScenarioSystem`](07-narrative/63_BPC_TrialScenarioSystem.md) | `BPC_` Component | `ActorComponent` | Timed trial/puzzle scenario; begin, evaluate, success/fail | 07-narrative |
| 64 | [`64_BPC_CutsceneBridge`](07-narrative/64_BPC_CutsceneBridge.md) | `BPC_` Component | `ActorComponent` | Cutscene bridge; play, skip, milestone flags, camera transfer | 07-narrative |
| 65 | [`65_BPC_LoreUnlockSystem`](07-narrative/65_BPC_LoreUnlockSystem.md) | `BPC_` Component | `ActorComponent` | Lore/journal entry unlock; trigger, categorize, notify | 07-narrative |
| 66 | [`66_DA_NarrativeDataAssets`](07-narrative/66_DA_NarrativeDataAssets.md) | `DA_` Data Asset | `PrimaryDataAsset` | Narrative data assets (DialogueData, CutsceneData, ScenarioData) | 07-narrative |
| 67 | [`67_BP_NarrativeTriggerVolume`](07-narrative/67_BP_NarrativeTriggerVolume.md) | `BP_` Actor | `TriggerVolume` | Narrative trigger volume; sets flags, starts dialogue/scene | 07-narrative |
| 68 | [`68_BPC_EndingAccumulator`](07-narrative/68_BPC_EndingAccumulator.md) | `BPC_` Component | `ActorComponent` | Ending tracker; accumulates ending conditions, determines outcome | 07-narrative |
| — | — | — | — | — | — |
| 69 | [`69_BP_WeaponBase`](08-weapons/69_BP_WeaponBase.md) | `BP_` Actor | `Actor` | Weapon base actor; fire, equip, holster, FX, audio | 08-weapons |
| 70 | [`70_BPC_AmmoComponent`](08-weapons/70_BPC_AmmoComponent.md) | `BPC_` Component | `ActorComponent` | Ammo pool; reserve/loaded, ammo types, pickup | 08-weapons |
| 71 | [`71_BPC_CombatFeedbackComponent`](08-weapons/71_BPC_CombatFeedbackComponent.md) | `BPC_` Component | `ActorComponent` | Combat feedback; hit markers, kill confirm, damage direction | 08-weapons |
| 72 | [`72_BPC_DamageReceptionSystem`](08-weapons/72_BPC_DamageReceptionSystem.md) | `BPC_` Component | `ActorComponent` | Damage reception; calculate, resist, apply, stagger, knockdown | 08-weapons |
| 73 | [`73_BPC_DeathCauseTracker`](08-weapons/73_BPC_DeathCauseTracker.md) | `BPC_` Component | `ActorComponent` | Death cause logging; killing blow, killer identity, damage type | 08-weapons |
| 74 | [`74_BPC_FirearmSystem`](08-weapons/74_BPC_FirearmSystem.md) | `BPC_` Component | `ActorComponent` | Firearm specialization; fire modes, chamber check, aim down sights | 08-weapons |
| 75 | [`75_BPC_HitReactionSystem`](08-weapons/75_BPC_HitReactionSystem.md) | `BPC_` Component | `ActorComponent` | Hit reaction; directional flinch, stagger, knockdown animations | 08-weapons |
| 76 | [`76_BPC_MeleeSystem`](08-weapons/76_BPC_MeleeSystem.md) | `BPC_` Component | `ActorComponent` | Melee weapon; combos, hit detection, block, parry, riposte | 08-weapons |
| 77 | [`77_BPC_RecoilSystem`](08-weapons/77_BPC_RecoilSystem.md) | `BPC_` Component | `ActorComponent` | Recoil; camera spring arm offset, pattern, recovery | 08-weapons |
| 78 | [`78_BPC_ReloadSystem`](08-weapons/78_BPC_ReloadSystem.md) | `BPC_` Component | `ActorComponent` | Reload; tactical/empty reload, notifies, interrupt | 08-weapons |
| 79 | [`79_BPC_ShieldDefenseSystem`](08-weapons/79_BPC_ShieldDefenseSystem.md) | `BPC_` Component | `ActorComponent` | Shield defense; block, durability, break, stun | 08-weapons |
| — | — | — | — | — | — |
| 80 | [`80_BP_EnemyBase`](09-ai/80_BP_EnemyBase.md) | `BP_` Actor | `Character` | Enemy base character; health, combat, patrol, death | 09-ai |
| 81 | [`81_BP_PatrolPath`](09-ai/81_BP_PatrolPath.md) | `BP_` Actor | `Actor` | Patrol path spline; waypoints, wait times, loop | 09-ai |
| 82 | [`82_BPC_AlertSystem`](09-ai/82_BPC_AlertSystem.md) | `BPC_` Component | `ActorComponent` | AI alert system; suspicious→alerted→combat states | 09-ai |
| 83 | [`83_BPC_AIStateMachine`](09-ai/83_BPC_AIStateMachine.md) | `BPC_` Component | `ActorComponent` | AI state machine; Patrol/Search/Combat/Flee transitions | 09-ai |
| 84 | [`84_AI_BaseAgentController`](09-ai/84_AI_BaseAgentController.md) | `AI_` Controller | `AIController` | Base AI controller; behavior tree runner, perception init | 09-ai |
| 85 | [`85_BB_AgentBoard`](09-ai/85_BB_AgentBoard.md) | `BB_` Blackboard | `BlackboardData` | AI blackboard definition; all keys for enemy AI | 09-ai |
| 86 | [`86_BPC_AIMemorySystem`](09-ai/86_BPC_AIMemorySystem.md) | `BPC_` Component | `ActorComponent` | AI memory; last known locations, threat history, investigation | 09-ai |
| 87 | [`87_BPC_AIPerceptionSystem`](09-ai/87_BPC_AIPerceptionSystem.md) | `BPC_` Component | `ActorComponent` | AI perception; sight, hearing, damage sense, team awareness | 09-ai |
| 88 | [`88_BPC_BehaviourVariantSelector`](09-ai/88_BPC_BehaviourVariantSelector.md) | `BPC_` Component | `ActorComponent` | Behavior variant selection; weighted random from DA_BehaviourVariant set | 09-ai |
| — | — | — | — | — | — |
| 89 | [`89_BPC_DifficultyManager`](10-adaptive/89_BPC_DifficultyManager.md) | `BPC_` Component | `ActorComponent` | Dynamic difficulty; metric-based scaling, adaptive tuning | 10-adaptive |
| 90 | [`90_BPC_FearSystem`](10-adaptive/90_BPC_FearSystem.md) | `BPC_` Component | `ActorComponent` | Fear system (AI + player); fear states, cower, flee | 10-adaptive |
| 91 | [`91_BPC_PerformanceScaler`](10-adaptive/91_BPC_PerformanceScaler.md) | `BPC_` Component | `ActorComponent` | Performance scaling; LOD, spawn distance, effect quality | 10-adaptive |
| 92 | [`92_BPC_ProceduralEncounter`](10-adaptive/92_BPC_ProceduralEncounter.md) | `BPC_` Component | `ActorComponent` | Procedural encounter generation; difficulty-based spawn groups | 10-adaptive |
| 93 | [`93_BPC_AdaptiveEnvironmentDirector`](10-adaptive/93_BPC_AdaptiveEnvironmentDirector.md) | `BPC_` Component | `ActorComponent` | Adaptive environment; room mutation, event coordination | 10-adaptive |
| 94 | [`94_BPC_AtmosphereStateController`](10-adaptive/94_BPC_AtmosphereStateController.md) | `BPC_` Component | `ActorComponent` | Atmosphere state; room tone, tension, mood | 10-adaptive |
| 95 | [`95_BPC_AudioAtmosphereController`](10-adaptive/95_BPC_AudioAtmosphereController.md) | `BPC_` Component | `ActorComponent` | Audio atmosphere; ambient layer crossfade, dynamic mixing | 10-adaptive |
| 96 | [`96_BPC_LightEventController`](10-adaptive/96_BPC_LightEventController.md) | `BPC_` Component | `ActorComponent` | Light event; flicker, dim, color shift, strobe | 10-adaptive |
| 97 | [`97_BPC_MemoryDriftSystem`](10-adaptive/97_BPC_MemoryDriftSystem.md) | `BPC_` Component | `ActorComponent` | Memory drift; visual/audio/dialogue distortions based on stress | 10-adaptive |
| 98 | [`98_BPC_PacingDirector`](10-adaptive/98_BPC_PacingDirector.md) | `BPC_` Component | `ActorComponent` | Pacing director; intensity bands, encounter frequency, music | 10-adaptive |
| 99 | [`99_BPC_PlaystyleClassifier`](10-adaptive/99_BPC_PlaystyleClassifier.md) | `BPC_` Component | `ActorComponent` | Playstyle classifier; Aggressive/Stealthy/Explorer/Balanced | 10-adaptive |
| 100 | [`100_BPC_RareEventSystem`](10-adaptive/100_BPC_RareEventSystem.md) | `BPC_` Component | `ActorComponent` | Rare event system; weighted selection, trigger, cooldown | 10-adaptive |
| 101 | [`101_BPC_ScareEventSystem`](10-adaptive/101_BPC_ScareEventSystem.md) | `BPC_` Component | `ActorComponent` | Scare event system; jump scares, anticipation, recovery | 10-adaptive |
| — | — | — | — | — | — |
| 102 | [`102_BPC_ProgressStatTracker`](11-meta/102_BPC_ProgressStatTracker.md) | `BPC_` Component | `ActorComponent` | Progress stats; total playtime, collectibles, achievements progress | 11-meta |
| 103 | [`103_SS_AchievementSystem`](11-meta/103_SS_AchievementSystem.md) | `SS_` Subsystem | `GameInstanceSubsystem` | Achievement subsystem; unlock, notify, platform integration | 11-meta |
| — | — | — | — | — | — |
| 104 | [`104_BPC_AccessibilitySettings`](12-settings/104_BPC_AccessibilitySettings.md) | `BPC_` Component | `ActorComponent` | Accessibility; subtitles, colorblind, controller remap, difficulty | 12-settings |
| 105 | [`105_SS_SettingsSystem`](12-settings/105_SS_SettingsSystem.md) | `SS_` Subsystem | `GameInstanceSubsystem` | Settings subsystem; persistent settings, apply, reset, platform | 12-settings |
| — | — | — | — | — | — |
| 106 | [`106_BPC_AnalyticsTracker`](13-polish/106_BPC_AnalyticsTracker.md) | `BPC_` Component | `ActorComponent` | Analytics; event tracking, session metrics, telemetry | 13-polish |
| 107 | [`107_BPC_DevCheatManager`](13-polish/107_BPC_DevCheatManager.md) | `BPC_` Component | `ActorComponent` | Developer cheats; god mode, noclip, give item, teleport | 13-polish |
| 108 | [`108_BPC_ErrorHandler`](13-polish/108_BPC_ErrorHandler.md) | `BPC_` Component | `ActorComponent` | Error handler; crash logging, error display, recovery | 13-polish |
| 109 | [`109_BPC_FPSCounter`](13-polish/109_BPC_FPSCounter.md) | `BPC_` Component | `ActorComponent` | FPS counter; display, min/max/avg tracking | 13-polish |
| 110 | [`110_BPC_LoadingScreen`](13-polish/110_BPC_LoadingScreen.md) | `BPC_` Component | `ActorComponent` | Loading screen; progress bar, tips, background | 13-polish |
| 111 | [`111_BPC_TutorialSystem`](13-polish/111_BPC_TutorialSystem.md) | `BPC_` Component | `ActorComponent` | Tutorial system; contextual prompts, progression, dismiss | 13-polish |
| 112 | [`112_WBP_CreditsScreen`](13-polish/112_WBP_CreditsScreen.md) | `WBP_` Widget | `UserWidget` | Credits screen; scroll, skip, post-credit scene trigger | 13-polish |
| 113 | [`113_WBP_DebugMenu`](13-polish/113_WBP_DebugMenu.md) | `WBP_` Widget | `UserWidget` | Debug menu; state viewer, log, performance, cheats | 13-polish |
| 114 | [`114_WBP_SplashScreen`](13-polish/114_WBP_SplashScreen.md) | `WBP_` Widget | `UserWidget` | Splash screen; studio logo, engine logo, skip | 13-polish |
| — | — | — | — | — | — |
| 115 | [`115_DA_AdaptationRule`](14-data-assets/115_DA_AdaptationRule.md) | `DA_` Data Asset | `PrimaryDataAsset` | Difficulty adaptation rule data | 14-data-assets |
| 116 | [`116_DA_AtmosphereProfile`](14-data-assets/116_DA_AtmosphereProfile.md) | `DA_` Data Asset | `PrimaryDataAsset` | Atmosphere profile; audio, lighting, fog, post-process | 14-data-assets |
| 117 | [`117_DA_BehaviourVariant`](14-data-assets/117_DA_BehaviourVariant.md) | `DA_` Data Asset | `PrimaryDataAsset` | AI behavior variant; attack patterns, patrol style, aggression | 14-data-assets |
| 118 | [`118_DA_DataAssetArchitecture`](14-data-assets/118_DA_DataAssetArchitecture.md) | — | — | Data asset architecture overview (all DA_ types) | 14-data-assets |
| 119 | [`119_DA_EncounterData`](14-data-assets/119_DA_EncounterData.md) | `DA_` Data Asset | `PrimaryDataAsset` | Encounter definition; enemy groups, spawn rules, difficulty | 14-data-assets |
| 120 | [`120_DA_EquipmentConfig`](14-data-assets/120_DA_EquipmentConfig.md) | `DA_` Data Asset | `PrimaryDataAsset` | Equipment configuration; weapon stats, armor, haptics | 14-data-assets |
| 121 | [`121_DA_HapticProfile`](14-data-assets/121_DA_HapticProfile.md) | `DA_` Data Asset | `PrimaryDataAsset` | Haptic/force feedback profile | 14-data-assets |
| 122 | [`122_DA_InteractionData`](14-data-assets/122_DA_InteractionData.md) | `DA_` Data Asset | `PrimaryDataAsset` | Interaction definition; prompt text, duration, icon, conditions | 14-data-assets |
| 123 | [`123_DA_ObjectiveData`](14-data-assets/123_DA_ObjectiveData.md) | `DA_` Data Asset | `PrimaryDataAsset` | Objective/quest data; description, prerequisites, rewards | 14-data-assets |
| 124 | [`124_DA_PuzzleData`](14-data-assets/124_DA_PuzzleData.md) | `DA_` Data Asset | `PrimaryDataAsset` | Puzzle definition; solution, steps, hints, rewards | 14-data-assets |
| 125 | [`125_DA_RareEvent`](14-data-assets/125_DA_RareEvent.md) | `DA_` Data Asset | `PrimaryDataAsset` | Rare event definition; weight, conditions, effects | 14-data-assets |
| 126 | [`126_DA_RoomMutation`](14-data-assets/126_DA_RoomMutation.md) | `DA_` Data Asset | `PrimaryDataAsset` | Room mutation; layout change, object swap, lighting | 14-data-assets |
| 127 | [`127_DA_ScareEvent`](14-data-assets/127_DA_ScareEvent.md) | `DA_` Data Asset | `PrimaryDataAsset` | Scare event definition; type, anticipation, payoff | 14-data-assets |
| 128 | [`128_SS_EnhancedInputManager`](15-input/128_SS_EnhancedInputManager.md) | `SS_` Subsystem | `GameInstanceSubsystem` | Enhanced input manager; context switching, rebinding, platform profiles | 15-input |
| 129 | [`129_DA_InputMappingProfile`](14-data-assets/129_DA_InputMappingProfile.md) | `DA_` Data Asset | `PrimaryDataAsset` | Input mapping profile per platform (PC, Xbox, PS5) | 14-data-assets |
| — | — | — | — | — | — |
| 130 | [`130_BPC_StateManager`](16-state/130_BPC_StateManager.md) | `BPC_` Component | `ActorComponent` | Central state authority; action gating, overlay, GASP liaison, vital signs | 16-state |
| 131 | [`131_DA_StateGatingTable`](16-state/131_DA_StateGatingTable.md) | `DA_` Data Asset | `PrimaryDataAsset` | All state gating rules (37 action rules); designer-editable | 16-state |
| 132 | [`132_SS_AudioManager`](10-adaptive/132_SS_AudioManager.md) | `SS_` Subsystem | `GameInstanceSubsystem` | Single audio entry point; 4 MetaSound buses, room zones, settings | 10-adaptive |
| 133 | [`133_BP_RoomAudioZone`](10-adaptive/133_BP_RoomAudioZone.md) | `BP_` Actor | `TriggerVolume` | Room audio zone; auto-switches reverb on overlap via push/pop stack | 10-adaptive |
| 134 | [`134_DA_AudioSettings`](14-data-assets/134_DA_AudioSettings.md) | `DA_` Data Asset | `PrimaryDataAsset` | Audio bus configs, volume defaults, ducking, pool limits | 14-data-assets |
| 135 | [`135_DA_RoomAcousticPreset`](14-data-assets/135_DA_RoomAcousticPreset.md) | `DA_` Data Asset | `PrimaryDataAsset` | Room acoustic profile; 7 presets (Outdoor, SmallRoom, Cave, etc.) | 14-data-assets |
| — | — | — | — | — | — |
| 136 | [`136_BPC_PlanarCapture`](17-capture/136_BPC_PlanarCapture.md) | `BPC_` Component | `ActorComponent` | Core capture: SceneCapture2D lifecycle, camera math, RT management, horror ring buffer | 17-capture |
| 137 | [`137_BP_PlanarCaptureActor`](17-capture/137_BP_PlanarCaptureActor.md) | `BP_` Actor | `Actor` | Placeable surface actor: mesh, MDI, proximity trigger, manager registration | 17-capture |
| 138 | [`138_SS_PlanarCaptureManager`](17-capture/138_SS_PlanarCaptureManager.md) | `SS_` Subsystem | `WorldSubsystem` | Global budget manager: surface scoring, quality tier assignment, RT pool | 17-capture |
| 139 | [`139_BP_Mirror`](17-capture/139_BP_Mirror.md) | `BP_` Actor | `BP_PlanarCaptureActor` | Standard mirror: Mode=Mirror, dirt/steam/condensation layers, aging | 17-capture |
| 140 | [`140_BP_Portal`](17-capture/140_BP_Portal.md) | `BP_` Actor | `BP_PlanarCaptureActor` | Portal surface: Mode=Portal, linked target, teleport on overlap, clip plane | 17-capture |
| 141 | [`141_BP_Monitor`](17-capture/141_BP_Monitor.md) | `BP_` Actor | `BP_PlanarCaptureActor` | Security screen: Mode=Monitor, fixed camera, 5fps, scanlines | 17-capture |
| 142 | [`142_BP_HorrorMirror`](17-capture/142_BP_HorrorMirror.md) | `BP_` Actor | `BP_Mirror` | Horror mirror: wrong reflection, delayed frame, text reveal, scare events | 17-capture |
| 143 | [`143_BP_FakeWindow`](17-capture/143_BP_FakeWindow.md) | `BP_` Actor | `BP_PlanarCaptureActor` | Architectural fake window: Mode=FakeWindow, sublevel, weather overlay | 17-capture |
| 144 | [`144_M_CaptureSurface_Master`](17-capture/144_M_CaptureSurface_Master.md) | `M_` Material | `Material` | Master unlit material: 9-layer stack (RT, condensation, dirt, steam, horror) | 17-capture |
| 145 | [`145_MPC_CaptureSurface`](17-capture/145_MPC_CaptureSurface.md) | MPC | `MaterialParameterCollection` | Global MPC: 10 scalar params (SteamIntensity, DirtOpacity, MirrorDarkness, etc.) | 17-capture |
| 146 | [`146_DA_PlanarCaptureProfile`](17-capture/146_DA_PlanarCaptureProfile.md) | `DA_` Data Asset | `PrimaryDataAsset` | Per-surface capture config: mode, quality overrides, actor lists | 17-capture |
| 147 | [`147_MI_MirrorInstances`](17-capture/147_MI_MirrorInstances.md) | `MI_` Instances | `M_CaptureSurface_Master` | 7 pre-configured material instances (Clean/Dirty/Steam/Horror/Portal/Monitor/FakeWindow) | 17-capture |
---
## Asset Type Summary
| Prefix | Type | Count |
|--------|------|-------|
| `BPC_` | Blueprint Component | 80 |
| `BP_` | Blueprint Actor | 11 |
| `WBP_` | Widget Blueprint | 14 |
| `DA_` | Data Asset | 19 |
| `SS_` | GameInstance Subsystem | 7 |
| `GI_` | Game Instance | 2 |
| `GM_` | Game Mode | 1 |
| `GS_` | Game State | 1 |
| `I_` | Interface | 3 |
| `FL_` | Function Library | 1 |
| `AI_` | AI Controller | 1 |
| `BB_` | Blackboard | 1 |
| `E_` | Enum | 5 |
| **Total** | | **158** |
---
## Dependency Map (Which Systems Talk to Which)
Below are the most cross-referenced systems — these are the ones the State Manager must coordinate:
| System | Referenced By (Inbound) |
|--------|------------------------|
| `BPC_HealthSystem` (08) | StateManager (death binding), DeathHandling, HitReaction, DamageReception, CombatFeedback, StressSystem |
| `BPC_MovementStateSystem` (11) | StateManager, GASP AnimBP, Stamina, Camera, InteractionDetector, AudioAtmosphere |
| `BPC_HidingSystem` (12) | StateManager, AIPerception, StressSystem, CameraStateLayer |
| `BPC_DeathHandlingSystem` (39) | HealthSystem, StateManager, AltDeathSpace, Corpse, Respawn, RunHistory, UIManager |
| `SS_EnhancedInputManager` (128) | StateManager (context changes), all WBP_ menus, PlayerController |
| `BPC_StateManager` (130) | EVERY system (central query point) |
| `SS_AudioManager` (132) | ALL systems that play audio, BP_RoomAudioZone, WBP_SettingsMenu, BPC_StateManager (heart rate → audio) |
| `ABP_GASP` (external) | StateManager (overlay + action intensity), MovementState, Hiding, Stamina, Embodiment |
---
## Alphabetical Quick-Find
| Asset Name | # | Asset Name | # | Asset Name | # |
|-----------|----|-----------|----|-----------|----|
| `AI_BaseAgentController` | 84 | `BP_ItemPickup` | 25 | `BPC_PlayerMetricsTracker` | 15 |
| `BB_AgentBoard` | 85 | `BP_NarrativeTriggerVolume` | 67 | `BPC_PlayerRespawnSystem` | 42 |
| `BP_Checkpoint` | 37 | `BP_PatrolPath` | 81 | `BPC_ProceduralEncounter` | 92 |
| `BP_DoorActor` | 19 | `BP_PuzzleDeviceActor` | 20 | `BPC_ProgressStatTracker` | 102 |
| `BP_EnemyBase` | 80 | `BP_WeaponBase` | 69 | `BPC_RareEventSystem` | 100 |
| `BPC_AccessibilitySettings` | 104 | `BPC_ActiveItemSystem` | 26 | `BPC_RecoilSystem` | 77 |
| `BPC_AdaptiveEnvironmentDirector` | 93 | `BPC_AIMemorySystem` | 86 | `BPC_ReloadSystem` | 78 |
| `BPC_AIPerceptionSystem` | 87 | `BPC_AIStateMachine` | 83 | `BPC_RunHistoryTracker` | 43 |
| `BPC_AlertSystem` | 82 | `BPC_AltDeathSpaceSystem` | 38 | `BPC_ScareEventSystem` | 101 |
| `BPC_AmmoComponent` | 70 | `BPC_AnalyticsTracker` | 106 | `BPC_ShieldDefenseSystem` | 79 |
| `BPC_AtmosphereStateController` | 94 | `BPC_BehaviourVariantSelector` | 88 | `BPC_StateManager` | 130 |
| `BPC_AudioAtmosphereController` | 95 | `BPC_BranchingConsequenceSystem` | 62 | `BPC_StressSystem` | 10 |
| `BPC_CameraStateLayer` | 14 | `BPC_CollectibleTracker` | 27 | `BPC_TrialScenarioSystem` | 63 |
| `BPC_CombatFeedbackComponent` | 71 | `BPC_ConsumableSystem` | 28 | `BPC_TutorialSystem` | 111 |
| `BPC_ContainerInventory` | 24 | `BPC_ContextualTraversalSystem` | 21 | `BPC_UsableWorldObjectSystem` | 23 |
| `BPC_CutsceneBridge` | 64 | `BPC_DamageReceptionSystem` | 72 | `DA_AdaptationRule` | 115 |
| `BPC_DeathCauseTracker` | 73 | `BPC_DeathHandlingSystem` | 39 | `DA_AtmosphereProfile` | 116 |
| `BPC_DevCheatManager` | 107 | `BPC_DialogueChoiceSystem` | 61 | `DA_BehaviourVariant` | 117 |
| `BPC_DialoguePlaybackSystem` | 60 | `BPC_DiegeticDisplay` | 18 | `DA_DataAssetArchitecture` | 118 |
| `BPC_DifficultyManager` | 89 | `BPC_DocumentArchiveSystem` | 29 | `DA_EncounterData` | 119 |
| `BPC_EmbodimentSystem` | 13 | `BPC_EndingAccumulator` | 68 | `DA_EquipmentConfig` | 120 |
| `BPC_EquipmentSlotSystem` | 30 | `BPC_ErrorHandler` | 108 | `DA_HapticProfile` | 121 |
| `BPC_FearSystem` | 90 | `BPC_FirearmSystem` | 74 | `DA_InputMappingProfile` | 129 |
| `BPC_FPSCounter` | 109 | `BPC_HealthSystem` | 8 | `DA_InteractionData` | 122 |
| `BPC_HidingSystem` | 12 | `BPC_HitReactionSystem` | 75 | `DA_ItemData` | 7 |
| `BPC_InteractionDetector` | 16 | `BPC_InventorySystem` | 31 | `DA_NarrativeDataAssets` | 66 |
| `BPC_ItemCombineSystem` | 32 | `BPC_JournalSystem` | 33 | `DA_ObjectiveData` | 123 |
| `BPC_KeyItemSystem` | 34 | `BPC_LightEventController` | 96 | `DA_PuzzleData` | 124 |
| `BPC_LoadingScreen` | 110 | `BPC_LoreUnlockSystem` | 65 | `DA_RareEvent` | 125 |
| `BPC_MeleeSystem` | 76 | `BPC_MemoryDriftSystem` | 97 | `DA_RoomMutation` | 126 |
| `BPC_MovementStateSystem` | 11 | `BPC_NarrativeStateSystem` | 58 | `DA_ScareEvent` | 127 |
| `BPC_ObjectiveSystem` | 59 | `BPC_PacingDirector` | 98 | `DA_StateGatingTable` | 131 |
| `BPC_PerformanceScaler` | 91 | `BPC_PersistentCorpseSystem` | 40 | | |
| `BPC_PersistentWorldStateRecorder` | 41 | `BPC_PhysicsDragSystem` | 22 | | |
| `FL_GameUtilities` | 2 | `GI_GameFramework` | 4 | | |
| `GI_StarterGameInstance` | — | `GI_GameTagRegistry` | 1 | `GM_CoreGameMode` | 5 |
| `DA_GameTagRegistry` | 1 | `GM_CoreGameMode` | 5 | | |
| `GS_CoreGameState` | 6 | `HidingSpot` | 17 | | |
| `I_InterfaceLibrary` | 3 | `I_Persistable` | 36 | | |
| `SS_AchievementSystem` | 103 | `SS_EnhancedInputManager` | 128 | | |
| `SS_SaveManager` | 35 | `SS_SettingsSystem` | 105 | | |
| `SS_UIManager` | 44 | `WBP_AccessibilityUI` | 45 | | |
| `WBP_CreditsScreen` | 112 | `WBP_DebugMenu` | 113 | | |
| `WBP_DiegeticHUDFrame` | 46 | `WBP_HUDController` | 47 | | |
| `WBP_InteractionPromptDisplay` | 48 | `WBP_InventoryMenu` | 49 | | |
| `WBP_JournalDocumentViewer` | 50 | `WBP_MainMenu` | 51 | | |
| `WBP_MenuFlowController` | 52 | `WBP_NotificationToast` | 53 | | |
| `WBP_ObjectiveDisplay` | 54 | `WBP_PauseMenu` | 55 | | |
| `WBP_ScreenEffectController` | 56 | `WBP_SettingsMenu` | 57 | | |
| `WBP_SplashScreen` | 114 | `BP_RoomAudioZone` | 133 | `DA_AudioSettings` | 134 |
| `DA_RoomAcousticPreset` | 135 | `SS_AudioManager` | 132 | | |
---
*Master Blueprint Index v3.1 — The single reference document for every file in the framework. Now 135 files with State Management, MetaSounds Audio, and Multiplayer Networking support.*
---
## Multiplayer Networking
See [`docs/architecture/multiplayer-networking.md`](../architecture/multiplayer-networking.md) for the full networking architecture specification. All blueprint specs include replication stubs, Server RPCs, and authority patterns. Developer docs include Multiplayer Networking sections per category.