Files
UE5-Modular-Game-Framework/docs/developer/11-16-systems.md
Lefteris Notas b2b6e1e7c7 Add developer documentation for systems 11-16, including architecture overview and implementation patterns
- Created detailed documentation for systems 102-135 covering achievements, settings, polish, data assets, input management, and state management.
- Added INDEX.md for easy navigation of developer reference materials.
- Introduced architecture-overview.md to provide a high-level understanding of the framework's structure and communication methods.
- Compiled implementation-patterns.md to outline common UE5 Blueprint patterns for consistent development practices.
2026-05-19 14:13:51 +03:00

7.9 KiB

11 — Achievements, Progression & Meta Systems (Systems 102-103)

Category Purpose: These 2 systems handle meta-progression — progress statistics tracking across sessions and the achievement/unlock system with platform integration.

# System Asset Type Role
102 BPC_ProgressStatTracker Component Progress stats; total playtime, collectibles, achievements
103 SS_AchievementSystem Subsystem Achievement subsystem; unlock, notify, platform integration

102 BPC_ProgressStatTracker: Tracks cumulative stats across play sessions: total playtime, collectibles found, enemies killed, deaths, items crafted, documents read, endings seen. Persists via I_Persistable for long-term tracking.

103 SS_AchievementSystem: GameInstanceSubsystem that manages achievement unlocks. Listens to gameplay events (enemy killed, item found, chapter completed) and unlocks achievements when conditions met. Shows notification toast on unlock. Integrates with platform achievement APIs (Steam, PlayStation, Xbox).


12 — Settings, Accessibility & Platform Systems (Systems 104-105)

# System Asset Type Role
104 BPC_AccessibilitySettings Component Accessibility; subtitles, colorblind, controller remap
105 SS_SettingsSystem Subsystem Settings subsystem; persistent settings, apply, reset

104 BPC_AccessibilitySettings: Manages accessibility features: subtitle toggle/size, colorblind mode selection (protanopia/deuteranopia/tritanopia), controller remapping, difficulty presets, hold-to-confirm toggle, camera shake reduction. Settings persisted via SS_SettingsSystem.

105 SS_SettingsSystem: GameInstanceSubsystem for all persistent settings. Loads defaults on init, saves on change, supports reset-to-default. Settings categories: Audio, Video, Controls, Gameplay, Accessibility. Coordinates with SS_AudioManager for volume, SS_EnhancedInputManager for key rebinding.


13 — Polish: Tutorial, Loading, Credits & Debug Systems (Systems 106-114)

# System Asset Type Role
106 BPC_AnalyticsTracker Component Analytics; event tracking, session metrics, telemetry
107 BPC_DevCheatManager Component Developer cheats; god mode, noclip, give item, teleport
108 BPC_ErrorHandler Component Error handler; crash logging, error display, recovery
109 BPC_FPSCounter Component FPS counter display; min/max/avg tracking
110 BPC_LoadingScreen Component Loading screen; progress bar, tips, background
111 BPC_TutorialSystem Component Tutorial system; contextual prompts, progression
112 WBP_CreditsScreen Widget Credits screen; scroll, skip, post-credit scene trigger
113 WBP_DebugMenu Widget Debug menu; state viewer, log, performance, cheats
114 WBP_SplashScreen Widget Splash screen; studio logo, engine logo, skip

106 BPC_AnalyticsTracker: Records gameplay events for telemetry: level starts/completes, deaths, item pickups, dialogue choices, playtime. Configurable event filtering. Stripped from shipping builds.

107 BPC_DevCheatManager: Developer tools: god mode, noclip, infinite ammo, give item by tag, teleport to cursor, toggle HUD, slow motion. Only available in development builds.

108 BPC_ErrorHandler: Global error handling: catches blueprint errors, logs to file, displays error toast (dev builds only). Graceful recovery from non-fatal errors.

109 BPC_FPSCounter: Simple FPS display overlay with min/max/avg tracking. Toggle via debug menu or console command.

110 BPC_LoadingScreen: Loading screen widget with progress bar, gameplay tips, background art. Manages level streaming progress display.

111 BPC_TutorialSystem: Context-sensitive tutorial prompts. Triggered by gameplay events (first combat, first hide, first puzzle). Tracks which tutorials the player has seen. Supports dismiss/snooze.

112-114 Widgets: Credits screen with scroll and post-credit scene trigger. Debug menu for development. Splash screen with studio/engine logos.


14 — Data Assets (Systems 115-127, 129, 134-135)

Category Purpose: These 16 systems define all Data Asset types used across the framework. Data Assets are the primary configuration mechanism — all content, rules, and settings live in these assets, never hardcoded in Blueprints.

# Data Asset Configures
115 DA_AdaptationRule Difficulty adaptation rules (metric thresholds, responses)
116 DA_AtmosphereProfile Atmosphere: audio ambience, lighting, fog, post-process per mood
117 DA_BehaviourVariant AI behavior variant: attack patterns, patrol style, aggression
118 DA_DataAssetArchitecture Overview document of all Data Asset types
119 DA_EncounterData Encounter definitions: enemy groups, spawn rules, difficulty tier
120 DA_EquipmentConfig Equipment/weapon stats: damage, fire rate, magazine, recoil
121 DA_HapticProfile Haptic/force feedback patterns for controller
122 DA_InteractionData Interaction definitions: prompt text, duration, icon, conditions
123 DA_ObjectiveData Objective/quest: description, prerequisites, rewards, branching
124 DA_PuzzleData Puzzle definitions: solution, steps, hints, rewards
125 DA_RareEvent Rare event: weight, conditions, effects, cooldown
126 DA_RoomMutation Room mutation: layout change, object swap, lighting change
127 DA_ScareEvent Scare event: type, anticipation duration, payoff, recovery
129 DA_InputMappingProfile Input mappings per platform (PC, Xbox, PS5)
134 DA_AudioSettings Audio bus configs, volume defaults, ducking, pool limits
135 DA_RoomAcousticPreset Room acoustics: 7 presets (Outdoor, SmallRoom, Cave, etc.)

Pattern: All Data Assets derive from UPrimaryDataAsset. They are pure data containers — no runtime logic. Designers edit these in the Content Browser; systems read them at runtime. This is the "No Hardcoded Names" principle in practice.


15 — Enhanced Input System (System 128)

# System Asset Type Role
128 SS_EnhancedInputManager Subsystem Input manager; context switching, rebinding, platform profiles

128 SS_EnhancedInputManager: The sole authority for all input management. Handles Input Mapping Context push/pop with priority-based context switching. Coordinates input mode (game-only vs UI-only) with SS_UIManager. Manages key rebinding via DA_InputMappingProfile. Platform-specific bindings (PC keyboard/mouse, Xbox controller, PS5 controller). Gameplay systems query input state through this subsystem — never through raw Enhanced Input calls.

Context Priority Ladder: Default(0) < Hiding(5) < WristwatchUI(10) < Inspection(20) < UI(100). Higher priority contexts override lower ones — UI blocks gameplay input.


16 — State Management (Systems 130-131)

# System Asset Type Role
130 BPC_StateManager Component Central state authority; action gating, overlay, vital signs
131 DA_StateGatingTable Data Asset All state gating rules (37 action rules); designer-editable

130 BPC_StateManager: The single source of truth for player capability. Manages 42 exclusive action states and 18 overlay states. All systems query IsActionPermitted(Tag) instead of checking each other's states directly. This is the central decoupling mechanism — the StateManager knows what's allowed; no individual system needs to know about others.

131 DA_StateGatingTable: A Data Asset containing all gating rules. Designers modify which actions are blocked during which states without touching Blueprints. For example: "Reloading blocks Sprint" or "Hiding blocks Interaction."


Developer Reference v1.0 — Categories 11-16 Systems. Companion to docs/blueprints/ specs.