# DA_ObjectiveData — Data Asset **Parent Class:** `UDataAsset` **Dependencies:** [`BPC_ObjectiveSystem`](../07-narrative/39_BPC_ObjectiveSystem.md), [`WBP_ObjectiveDisplay`](../06-ui/WBP_ObjectiveDisplay.md) **Purpose:** Defines objective content — objective text, requirements, completion conditions, linked narrative flags, and reward data. --- ## Variables / Structure | Field | Type | Description | |-------|------|-------------| | `ObjectiveTag` | `FGameplayTag` | Unique tag for this objective | | `ObjectiveText` | `FText` | Display text for HUD/journal | | `ObjectiveCategory` | `EObjectiveCategory` | Main, Side, Hidden, Tutorial | | `PrerequisiteFlags` | `TArray` | Narrative flags required before objective activates | | `CompletionFlags` | `TArray` | Flags set when objective completes | | `bIsOptional` | `bool` | Objective can be skipped | | `ObjectiveLocation` | `FVector` | World location for marker | | `RewardItems` | `TArray` | Items granted on completion | | `RewardExperience` | `int32` | XP awarded | | `LinkedEndingWeight` | `float` | Score contribution to ending evaluation | --- ## Gameplay Tags - Namespace: `Objective..` (e.g., `Objective.Main.FindKey`, `Objective.Side.RescueNPC`) --- ## Validation Rules - `ObjectiveTag` must be unique - `ObjectiveText` must not be empty - At least one `CompletionFlag` required (unless narrative-driven) --- ## Example Data | Field | Value | |-------|-------| | ObjectiveTag | `Objective.Main.EscapeHospital` | | ObjectiveText | "Escape the abandoned hospital" | | ObjectiveCategory | Main | | CompletionFlags | `Narrative.EscapedHospital` | | RewardExperience | 500 | --- ## Consumed By - [`BPC_ObjectiveSystem`](../07-narrative/39_BPC_ObjectiveSystem.md) - [`WBP_ObjectiveDisplay`](../06-ui/WBP_ObjectiveDisplay.md) - [`BPC_EndingAccumulator`](../07-narrative/BPC_EndingAccumulator.md) ## Reuse Notes - Objectives are data-driven; no blueprint logic changes needed for new objectives - `PrerequisiteFlags` gate objective activation behind narrative flags - `LinkedEndingWeight` feeds into ending evaluation system