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.
This commit is contained in:
Lefteris Notas
2026-05-22 17:16:34 +03:00
parent 7c2e8df6b1
commit 14441c000c
16 changed files with 1213 additions and 46 deletions

View File

@@ -13,17 +13,20 @@
---
# 12 — Settings, Accessibility & Platform Systems (Systems 104-105)
# 12 — Settings, Accessibility, Haptics & Platform Systems (Systems 104-105, 148)
| # | System | Asset Type | Role |
|---|--------|-----------|------|
| 104 | `BPC_AccessibilitySettings` | Component | Accessibility; subtitles, colorblind, controller remap |
| 105 | `SS_SettingsSystem` | Subsystem | Settings subsystem; persistent settings, apply, reset |
| 148 | `BPC_HapticsController` | Component | Haptics controller; GameplayTag-driven force feedback, DualSense triggers, heartbeat pulse |
**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.
**148 BPC_HapticsController:** ActorComponent attached to the Player Controller. Central abstraction for all controller vibration and force feedback. Systems trigger haptics by GameplayTag (e.g., `Haptic.Damage.Heavy`) — never calling raw UE5 `Play Force Feedback` nodes. Handles platform detection (Xbox rumble, PS5 DualSense adaptive triggers, PC generic gamepad), respects accessibility toggle, manages effect priority/conflict resolution, and drives the continuous heartbeat pulse from `BPC_StateManager.GetCurrentHeartRate()`. Uses `DA_HapticProfile` Data Assets for all effect definitions.
---
# 13 — Polish: Tutorial, Loading, Credits & Debug Systems (Systems 106-114)
@@ -108,7 +111,7 @@
---
*Developer Reference v1.0 — Categories 11-16 Systems. Companion to docs/blueprints/ specs.*
*Developer Reference v1.1 — Categories 11-16 Systems (including Haptics). Companion to docs/blueprints/ specs.*
---
@@ -121,6 +124,7 @@
| `SS_AchievementSystem` | Server validates unlocks; client receives unlock notifications |
| `BPC_AccessibilitySettings` | **Local per-client** each player's accessibility preferences |
| `SS_SettingsSystem` | Settings save per-client; key bindings are local |
| `BPC_HapticsController` | **Local client only** haptics are cosmetic, never replicated. No `HasAuthority()` needed. |
### Category 13: Polish
| System | Authority |