# DA_InteractionData — Data Asset **Parent Class:** `UDataAsset` **Dependencies:** `BPC_InteractionDetector`, `I_Interactable` **Purpose:** Defines interaction properties for interactable world objects — prompt text, hold duration, required items, and context tags. --- ## Variables / Structure | Field | Type | Description | |-------|------|-------------| | `InteractionTag` | `FGameplayTag` | Unique tag for this interaction type | | `ActionLabel` | `FText` | "Open", "Pick Up", "Pull Lever", etc. | | `ObjectName` | `FText` | Display name of the object | | `bRequiresHold` | `bool` | Whether interaction requires hold input | | `HoldDuration` | `float` | Seconds to hold (if bRequiresHold) | | `ActionKeyIcon` | `UTexture2D*` | Platform-specific input icon | | `ContextTags` | `TArray` | Display tags: "Safe", "Locked", "Dangerous" | | `bConsumeOnInteract` | `bool` | Item is consumed after interaction | | `InteractionCooldown` | `float` | Seconds before re-interaction allowed | | `RequiredItemTag` | `FGameplayTag` | Item required in inventory to interact | | `bBlockDuringCombat` | `bool` | Interaction blocked during combat | | `InteractionRange` | `float` | Max distance for interaction (cm) | | `PromptOffset` | `FVector2D` | Screen offset for prompt widget | --- ## Gameplay Tags - Namespace: `Interaction.` (e.g., `Interaction.Open`, `Interaction.Pickup`) - Required item tags in `Item.` namespace --- ## Validation Rules - `ActionLabel` must not be empty - `HoldDuration` > 0 if `bRequiresHold` is true - `InteractionTag` must be unique across all interaction DAs - `InteractionRange` must be > 0 --- ## Example Data **Example 1: Door** | Field | Value | |-------|-------| | InteractionTag | `Interaction.Door.Open` | | ActionLabel | "Open" | | ObjectName | "Wooden Door" | | bRequiresHold | false | | InteractionRange | 200.0 | **Example 2: Locked Chest** | Field | Value | |-------|-------| | InteractionTag | `Interaction.Chest.Locked` | | ActionLabel | "Unlock" | | ObjectName | "Iron Chest" | | bRequiresHold | true | | HoldDuration | 1.5 | | RequiredItemTag | `Item.Key.IronKey` | --- ## Consumed By - [`BPC_InteractionDetector`](../03-interaction/16_BPC_InteractionDetector.md) — reads interaction data for prompt display - [`BP_DoorActor`](../03-interaction/BP_DoorActor.md) — door-specific interaction config - [`BP_PuzzleDeviceActor`](../03-interaction/) — puzzle interaction definitions ## Reuse Notes - All interactable objects reference this DA via a `TSoftObjectPtr` on their component - Context tags drive HUD prompt coloring and iconography