# DA_HapticProfile — Data Asset **Parent Class:** `UDataAsset` **Dependencies:** [`BPC_HapticsController`](../12-settings/) **Purpose:** Defines haptic feedback profiles for controller vibration and force feedback effects tied to gameplay events. --- ## Variables / Structure | Field | Type | Description | |-------|------|-------------| | `ProfileTag` | `FGameplayTag` | Unique haptic profile identifier | | `EventType` | `EHapticEvent` | Damage, Heartbeat, Explosion, Footstep, WeaponFire, AmbientPulse | | `IntensityCurve` | `UCurveFloat*` | Vibration intensity over time | | `Duration` | `float` | Total haptic effect duration (seconds) | | `MotorMask` | `EHapticMotor` | Left, Right, Both | | `Priority` | `int32` | Higher priority overrides lower during conflicts | | `bCanInterrupt` | `bool` | Can this effect be interrupted by higher priority | | `PlatformMinIntensity` | `float` | Minimum intensity per platform capability | --- ## Gameplay Tags - Namespace: `Haptic.` (e.g., `Haptic.Damage.Heavy`, `Haptic.Heartbeat`) --- ## Validation Rules - `ProfileTag` must be unique - `Duration` must be > 0 - `IntensityCurve` must be valid --- ## Example Data | Field | Value | |-------|-------| | ProfileTag | `Haptic.Damage.Critical` | | EventType | Damage | | Duration | 0.5 | | MotorMask | Both | | Priority | 10 | --- ## Consumed By - [`BPC_HapticsController`](../12-settings/) ## Reuse Notes - Haptic profiles are platform-agnostic; translation handled by PlatformServiceAbstraction