Files
UE5-Modular-Game-Framework/docs/developer/INDEX.md
Lefteris Notas 14441c000c Add haptics example documentation for Project Void controller feedback
- Introduced comprehensive guide for setting up controller haptics and force feedback.
- Detailed directory structure for haptic profiles and creation steps for DA_HapticProfile instances.
- Included platform-specific configurations for Xbox and PS5 DualSense adaptive triggers.
- Outlined wiring of BPC_HapticsController to various gameplay systems and events.
- Provided accessibility integration options and testing checklist for haptic functionality.
2026-05-22 17:16:34 +03:00

15 KiB

Developer Reference — UE5 Modular Game Framework

Version: 1.7 | Generated: 2026-05-22 | Files: 20 (1 index + 2 overview + 1 migration + 1 integration + 1 prototype + 1 starter + 10 category docs + 1 combined + 1 capture + 1 haptics) | C++: 15 full + 10 stubs = 25 systems

This directory contains developer-facing reference documentation for every system in the framework. Unlike the blueprint spec files (which define what to build), these documents explain how each system works internally — the data flow, state machines, integration points, and design rationale. Use these when you need to understand a system's behavior to implement, debug, or extend it.

Who This Is For

  • Blueprint implementers turning .md specs into actual UE5 Blueprint assets
  • Debuggers tracing why something doesn't work
  • Designers needing to understand constraints before modifying Data Assets
  • New team members learning the framework's internal logic

Directory Map

docs/developer/
├── INDEX.md                              ← THIS FILE
├── architecture-overview.md              ← Framework-wide architecture walkthrough
├── implementation-patterns.md            ← Common UE5 Blueprint patterns used
├── cpp-integration-guide.md              ← C++ per-system integration & setup (22 systems)
├── project-setup-migration.md            ← Project setup & migration guide
├── project-prototype-guide.md            ← Step-by-step prototype build guide (NEW)
├── 00-starter-gameinstance.md            ← Starter GameInstance: GI_StarterGameInstance setup guide
├── 01-core-foundation.md                 ← Foundation systems explained
├── 02-player-systems.md                  ← Player state & embodiment (systems 08-15)
├── 03-interaction-systems.md             ← Interaction & world manipulation (systems 16-23)
├── 04-inventory-systems.md               ← Inventory, items & collectibles (systems 24-34)
├── 05-saveload-systems.md                ← Save/load, persistence, death loop (systems 35-43)
├── 06-ui-systems.md                      ← UI, menus & diegetic presentation (systems 44-57)
├── 07-narrative-systems.md               ← Narrative, dialogue, objectives (systems 58-68)
├── 08-weapons-systems.md                 ← Weapons, equipment & damage (systems 69-79)
├── 09-ai-systems.md                      ← AI, perception & encounters (systems 80-88)
├── 10-adaptive-systems.md                ← Adaptive environment & atmosphere (systems 89-101, 132-133)
├── 11-16-systems.md                      ← Meta, Settings, Polish, Data Assets, Input, State (systems 102-135)
└── 17-capture-systems.md                 ← Planar Capture System — Mirrors, Portals, Monitors, Horror (systems 136-147)

## Haptics Reference
- **18-haptics-system.md** — Haptics Controller — Force feedback, DualSense triggers, heartbeat pulse, platform profiles (system 148)
- **game/haptics-example.md** — Project Void haptics walkthrough — wiring all game systems, platform tuning, testing checklist

Quick Reference — Every System at a Glance

# System Category Role
GI_StarterGameInstance Project Setup Minimal GameInstance; tag validation entry point
01 DA_GameTagRegistry Foundation Central GameplayTag → asset registry
02 FL_GameUtilities Foundation Shared utility functions (logging, math)
03 I_InterfaceLibrary Foundation All framework interfaces
04 GI_GameFramework Foundation Application kernel; owns subsystems
05 GM_CoreGameMode Foundation Spawns player, manages game rules
06 GS_CoreGameState Foundation Shared game state, phase tracker
07 DA_ItemData Foundation Base item data asset
08 BPC_HealthSystem Player Health, damage, death trigger
09 BPC_StaminaSystem Player Stamina pool, sprint drain, exhaustion
10 BPC_StressSystem Player Psychological stress tiers, hallucinations
11 BPC_MovementStateSystem Player Movement mode + posture, GASP liaison
12 BPC_HidingSystem Player Hide/peek/breath-hold, LOS checks
13 BPC_EmbodimentSystem Player First-person body, arm IK, overlays
14 BPC_CameraStateLayer Player Camera FOV/offset per state
15 BPC_PlayerMetricsTracker Player Player metrics: accuracy, deaths, ratios
16 BPC_InteractionDetector Interaction Raycast interaction detection
17 I_HidingSpot Interaction Interface for hideable objects
18 BPC_DiegeticDisplay Interaction In-world screens (wristwatch, monitors)
19 BP_DoorActor Interaction Physical door with state machine
20 BP_PuzzleDeviceActor Interaction Puzzle device base actor
21 BPC_ContextualTraversalSystem Interaction Vault/mantle/slide/squeeze/climb
22 BPC_PhysicsDragSystem Interaction Grab/drag/release physics objects
23 BPC_UsableWorldObjectSystem Interaction Generic world object use (levers, buttons)
24 BPC_ContainerInventory Inventory World container inventory
25 BP_ItemPickup Inventory Physical item pickup in world
26 BPC_ActiveItemSystem Inventory Quick-slot item management
27 BPC_CollectibleTracker Inventory Collectible tracking, set bonuses
28 BPC_ConsumableSystem Inventory Consumable use (health packs, syringes)
29 BPC_DocumentArchiveSystem Inventory Document/journal archive
30 BPC_EquipmentSlotSystem Inventory Equipment slots, equip/unequip
31 BPC_InventorySystem Inventory Core inventory grid
32 BPC_ItemCombineSystem Inventory Item combination crafting
33 BPC_JournalSystem Inventory Quest/objective journal
34 BPC_KeyItemSystem Inventory Key item tracking, use-on-target
35 SS_SaveManager Save/Load Save/load subsystem
36 I_Persistable Save/Load Persistence interface
37 BP_Checkpoint Save/Load Checkpoint actor
38 BPC_AltDeathSpaceSystem Save/Load Alternate death/void space
39 BPC_DeathHandlingSystem Save/Load Death orchestrator
40 BPC_PersistentCorpseSystem Save/Load Corpse persistence
41 BPC_PersistentWorldStateRecorder Save/Load World state change recording
42 BPC_PlayerRespawnSystem Save/Load Respawn logic
43 BPC_RunHistoryTracker Save/Load Run/session history
44 SS_UIManager UI UI subsystem, menu stack
45 WBP_AccessibilityUI UI Accessibility settings UI
46 WBP_DiegeticHUDFrame UI Diegetic in-world HUD frame
47 WBP_HUDController UI Root HUD widget
48 WBP_InteractionPromptDisplay UI Interaction prompt popup
49 WBP_InventoryMenu UI Inventory grid UI
50 WBP_JournalDocumentViewer UI Document/journal viewer
51 WBP_MainMenu UI Main menu
52 WBP_MenuFlowController UI Menu state machine
53 WBP_NotificationToast UI Toast notification
54 WBP_ObjectiveDisplay UI Active objective HUD element
55 WBP_PauseMenu UI Pause menu
56 WBP_ScreenEffectController UI Full-screen effects
57 WBP_SettingsMenu UI Settings menu
58 BPC_NarrativeStateSystem Narrative Narrative state machine
59 BPC_ObjectiveSystem Narrative Objective tracker
60 BPC_DialoguePlaybackSystem Narrative Dialogue playback
61 BPC_DialogueChoiceSystem Narrative Dialogue choices
62 BPC_BranchingConsequenceSystem Narrative Consequence execution
63 BPC_TrialScenarioSystem Narrative Timed trial/puzzle scenario
64 BPC_CutsceneBridge Narrative Cutscene bridge
65 BPC_LoreUnlockSystem Narrative Lore/journal unlock
66 DA_NarrativeDataAssets Narrative Narrative data assets
67 BP_NarrativeTriggerVolume Narrative Narrative trigger volume
68 BPC_EndingAccumulator Narrative Ending condition tracker
69 BP_WeaponBase Weapons Weapon base actor
70 BPC_AmmoComponent Weapons Ammo pool
71 BPC_CombatFeedbackComponent Weapons Combat feedback (hit markers)
72 BPC_DamageReceptionSystem Weapons Damage reception/resistance
73 BPC_DeathCauseTracker Weapons Death cause logging
74 BPC_FirearmSystem Weapons Firearm specialization
75 BPC_HitReactionSystem Weapons Hit reaction animations
76 BPC_MeleeSystem Weapons Melee weapon system
77 BPC_RecoilSystem Weapons Recoil pattern
78 BPC_ReloadSystem Weapons Reload system
79 BPC_ShieldDefenseSystem Weapons Shield defense
80 BP_EnemyBase AI Enemy base character
81 BP_PatrolPath AI Patrol path spline
82 BPC_AlertSystem AI AI alert states
83 BPC_AIStateMachine AI AI state machine
84 AI_BaseAgentController AI Base AI controller
85 BB_AgentBoard AI AI blackboard definition
86 BPC_AIMemorySystem AI AI memory/last known locations
87 BPC_AIPerceptionSystem AI AI perception (sight/hearing)
88 BPC_BehaviourVariantSelector AI Behavior variant selection
89 BPC_DifficultyManager Adaptive Dynamic difficulty scaling
90 BPC_FearSystem Adaptive Fear system (AI + player)
91 BPC_PerformanceScaler Adaptive Performance scaling (LOD)
92 BPC_ProceduralEncounter Adaptive Procedural encounter generation
93 BPC_AdaptiveEnvironmentDirector Adaptive Adaptive environment director
94 BPC_AtmosphereStateController Adaptive Atmosphere state (tone, tension)
95 BPC_AudioAtmosphereController Adaptive Audio atmosphere [DEPRECATED]
96 BPC_LightEventController Adaptive Light events (flicker/strobe)
97 BPC_MemoryDriftSystem Adaptive Memory drift distortions
98 BPC_PacingDirector Adaptive Pacing director
99 BPC_PlaystyleClassifier Adaptive Playstyle classification
100 BPC_RareEventSystem Adaptive Rare event system
101 BPC_ScareEventSystem Adaptive Scare event system
102 BPC_ProgressStatTracker Meta Progress statistics
103 SS_AchievementSystem Meta Achievement subsystem
104 BPC_AccessibilitySettings Settings Accessibility settings
105 SS_SettingsSystem Settings Persistent settings subsystem
148 BPC_HapticsController Settings Haptics controller — force feedback, DualSense triggers, heartbeat pulse (NEW)
106 BPC_AnalyticsTracker Polish Analytics/telemetry
107 BPC_DevCheatManager Polish Developer cheats
108 BPC_ErrorHandler Polish Error/crash handling
109 BPC_FPSCounter Polish FPS counter
110 BPC_LoadingScreen Polish Loading screen
111 BPC_TutorialSystem Polish Tutorial system
112 WBP_CreditsScreen Polish Credits screen
113 WBP_DebugMenu Polish Debug menu
114 WBP_SplashScreen Polish Splash screen
115 DA_AdaptationRule Data Assets Difficulty adaptation rules
116 DA_AtmosphereProfile Data Assets Atmosphere profile (audio/light/FX)
117 DA_BehaviourVariant Data Assets AI behavior variant
118 DA_DataAssetArchitecture Data Assets Data asset architecture overview
119 DA_EncounterData Data Assets Encounter definition
120 DA_EquipmentConfig Data Assets Equipment configuration
121 DA_HapticProfile Data Assets Haptic feedback profile
122 DA_InteractionData Data Assets Interaction definition
123 DA_ObjectiveData Data Assets Objective/quest data
124 DA_PuzzleData Data Assets Puzzle definition
125 DA_RareEvent Data Assets Rare event definition
126 DA_RoomMutation Data Assets Room mutation definition
127 DA_ScareEvent Data Assets Scare event definition
128 SS_EnhancedInputManager Input Enhanced Input manager
129 DA_InputMappingProfile Data Assets Input mapping profile per platform
130 BPC_StateManager State Central state authority
131 DA_StateGatingTable State State gating rules
132 SS_AudioManager Adaptive Audio subsystem (MetaSounds)
133 BP_RoomAudioZone Adaptive Room audio zone trigger
134 DA_AudioSettings Data Assets Audio bus/settings config
135 DA_RoomAcousticPreset Data Assets Room acoustic profile
148 BPC_HapticsController Settings Haptics controller — force feedback, DualSense triggers, heartbeat pulse

How to Use These Docs

  1. New to the framework? Start with architecture-overview.md to understand the big picture.
  2. Setting up a new project? Read 00-starter-gameinstance.md first — create GI_StarterGameInstance to validate your GameplayTags immediately. Then follow project-setup-migration.md for full Project Settings, plugins, Data Tables, and init sequence.
  3. Building a prototype? Follow project-prototype-guide.md — step-by-step instructions from blank project to working test character with verification checklist.
  4. Using the C++ classes? Read cpp-integration-guide.md — per-system setup steps, Blueprint children to create, usage patterns, and build order. See ../checklists/cpp-blueprint-status.md for the full 135-system status grid.
  5. Need the prioritized BP build list? See ../checklists/remaining-blueprint-build-order.md — every system with C++ status, what BP to build, and dependency-safe order.
  6. Implementing a system? Read the Blueprint Spec in docs/blueprints/ — every file has a Manual Implementation Guide with node-by-node logic.
  7. Need to understand internals? Read the corresponding Developer Reference doc in this directory.
  8. Debugging? Each category doc includes a data flow section showing how data moves between systems.
  9. Need UE5 Blueprint patterns? See implementation-patterns.md.
  10. Multiplayer networking? See ../architecture/multiplayer-networking.md. Every doc has a Multiplayer Networking section.

Relationship to Spec Files

Aspect Blueprint Spec (docs/blueprints/) Developer Reference (docs/developer/)
Purpose Define what to build with node-by-node logic (v2.0) Explain how it works (understanding)
Audience Implementers building Blueprints manually Anyone needing to understand internals
Content Enums, structs, variables, functions, Manual Implementation Guide Data flow, state machines, design rationale
Format TEMPLATE.md v2.0 — includes Build Checklist Per-category reference docs + cpp-integration-guide + project-setup-migration

Developer Reference Index v1.5 — Companion to the Blueprint Spec system. Update both together.