Quest Manager

Updated May 25, 2026

The Quest System is a data-driven framework for defining, tracking, and completing player missions. It supports main quests, side quests, staged objectives, quest markers, prerequisites, narrative-driven stages, rewards, and event-triggered progression.

Related setup: Set Up First Narrative.

Quest stages can be triggered from interaction, dialogue choices, world events, or custom Blueprint logic. For conversation-driven quests, also check the Dialogue System.

Use this page for quest data setup, Data Table structure, quest/stage/objective/reward fields, enum extension, supported quest task types, and common setup workflows. For shared setup guidance, see the Migration Guide and Integration Guide. Use the System Atlas to look up functions, variables, events, components, and ownership references.

Related Videos

Some videos may have been recorded before V4. The same principles still apply, but asset names, component names, and folder locations may differ. Use this written page and the current V4 names as the source of truth.

  • Create Oblivion Style Quests and stories in your project Walkthrough
    Play
  • Scalable Quest Manager for Open Worlds Devlog Part 2
    Play
  • Quest Manager and Narrative Design Devlog
    Play

Setup

Quest data is assigned through the GameState tag mapper. Select AC_GS_TagMapper in the GameState and set Linked Quest Table to the quest Data Table used by the project.

Assigning a Quest Data Table screenshot

The core quest table is DT_Quests. Each row uses a quest struct containing Quest Info and an array of Quest Stages.

Quest Data Table Overview screenshot

Quest Data Table Overview screenshot

Quest Data Table Overview screenshot

Quest Data Structure

Quest Info

Quest Info defines the quest-level metadata used by UI, tracking, availability, prerequisites, and markers.

FieldTypePurpose
Quest NameStringDisplay name shown in the quest log or UI.
Quest Cover ImageTexture 2DThumbnail or image shown with the quest.
Quest TagGameplay TagUnique internal quest identifier, such as Quest.Main.TheAwakening.QuestOnlyExample.
Quest TypeEnum Quest TypeCategory such as Main or Side, used for UI grouping and logic.
Can Quest Be AbandonedBooleanControls whether the player can remove the quest from the log.
Recommended LevelsStruct Skill Level Range arraySuggested level or skill requirement hints for UI and scaling.
Introduction StoryTextShort narrative premise shown when the quest begins.
Quest ChapterEnum Quest ChapterGroups the quest into a story act or chapter.
Quest PrerequisitesGameplay TagQuest that must be completed before this quest is available, such as Quest.Main.ThePrologue.Completed..
Status Marker OptionsStruct Quest Status Marker OptionsControls quest marker visibility, icon behavior, active-only display, and completion hiding.

Quest Stage Info

Quest stages break a quest into ordered chunks. Each stage can define player-facing logs, objectives, rewards, marker behavior, and optional Narrative Blueprint control.

FieldPurpose
Stage NameDisplay title for the current stage.
Stage Log In ProgressQuest log text while the stage is active.
Stage Log CompletedQuest log text after the stage is completed.
Reveal Markers In Objective OrderShows markers sequentially instead of all at once.
Stage ObjectivesArray of Quest Objective structs required for stage progress.
Stage RewardsArray of Quest Reward structs granted on stage completion.
Uses a Narrative to Structure StateEnables a Narrative Blueprint to control this stage.
Narrative to UseBlueprint reference such as BP_Narrative_AwakeningIntro.

Quest Objective

Objectives describe the individual tasks a player must complete inside a stage.

FieldPurpose
TitleShort objective text shown in the quest log or tracker.
Objective TypeEnum Quest Task type that defines how the objective completes.
Is OptionalMarks bonus objectives that are not required for stage completion.
TargetGameplay tag identifying the actor, item, area, or object to track.
SourceGameplay tag identifying the origin of the objective, such as an NPC or location.
AmountRequired number of items, kills, interactions, or actions.
Show Quest MarkerControls whether this objective displays a marker.
Quest Marker TagTag used to select the correct world or UI marker.

Example target/source style from the source includes tags such as target creature/item/NPC identifiers and source NPC/location identifiers.

Quest Reward

Quest rewards define what the player receives when a quest or stage completes.

FieldPurpose
Reward TypeEnum reward category, such as XP, Item, Currency, or Reputation.
AmountReward quantity or numeric value.
RewardGameplay tag identifying the reward, such as Reward.Item.HealthPotion, Reward.Currency.Gold, or Reward.XP.General.

Enums and Extensions

Reward Types

Reward Type screenshot

To add a reward type, add the value to E_Reward_Types, then update AC_PC_QuestManager in the Give Reward function so the new type is handled correctly.

Adding New Reward Types screenshot

Adding New Reward Types screenshot

Adding New Reward Types screenshot

For a Reputation reward example, the reward flow gets the Player Controller, resolves the Reputation Manager, breaks the Quest Reward struct, and applies the reputation amount through that manager.

Quest Task Type

Quest Task Type screenshot

Quest task types define the kinds of objective logic the system can track. To add a new quest task type, extend the enum and add handling logic for the new objective behavior.

Adding new Quest Type screenshot

Adding new Quest Type screenshot

Quest Chapter, State, Status, and Type

Quest chapters organize the narrative. Quest states and statuses track runtime progress. Quest type classifies quests for UI and logic.

Quest Chapter screenshot

Adding New Quest Chapter screenshot

Adding New Quest Chapter screenshot

Quest States screenshot

Quest Status screenshot

Quest Type screenshot

Stage State screenshot

Default Quest

The default quest setup is configured in the quest system so the project can start with an initial quest state or example quest.

Assigning the default quest screenshot

Supported Quest Objective Types

The source document lists the following quest task types and examples.

TypeUse
Deliver ItemBring a required item to a target NPC, object, or location.
Interact with ActorComplete when the player interacts with the target actor.
KillComplete by killing actors with matching tags, such as Quest.Kill.Zombie.
LearnComplete when the player learns a required entry, skill, or knowledge item.
Obtain ObjectComplete when the player obtains a required item or object.
CraftComplete when the player crafts a required recipe or item, using data such as DT_CraftingRecipies.
GatherComplete when the player gathers the required resource amount.
StealComplete when the player steals the required target.
FindComplete when the player finds the target location/object.
Perform ActionComplete when a specific action event is performed.
Level Up toComplete when the player reaches the required level.
Use ItemComplete when the player uses the required item.
Use SkillComplete when the player uses the required skill.
Use AbilityComplete when the player uses the required ability.
Consume ItemComplete when the required item is consumed.
Discover AreaComplete when the player triggers a discovery actor or area, such as BP_Trigger_DiscoverArea.
Complete NarrativeComplete when the configured narrative state completes.

Deliver Item screenshot

Deliver Item screenshot

Adding Tags to Enemies screenshot

Adding Tags to Enemies screenshot

Adding Tags to Enemies screenshot

Adding Tags to Enemies screenshot

Craft screenshot

Craft screenshot

Discover Area screenshot

Discover Area screenshot

Triggering Quests by Events

Quests can be triggered or advanced by gameplay events. This allows other systems to start quests, update objectives, or complete tasks without tightly coupling every system to quest logic.

Trigger Quests by Events screenshot

Trigger Quests by Events screenshot

Integration Notes

  • AC_PC_QuestManager handles player-side quest state and reward logic.
  • AC_GS_TagMapper links the project quest Data Table.
  • AC_Gameplay_Tags / AC_GameplayTags are used for tag-driven matching and objective targets.
  • DT_Items supports item rewards and item-based objectives.
  • DT_CraftingRecipies supports craft objectives.
  • Narrative Blueprints such as BP_Narrative_AwakeningIntro can drive structured quest stages.

Summary

The Quest System is built around DT_Quests, quest info, staged objectives, reward structs, quest task enums, and gameplay tags. Use quest tags for stable IDs, stages for progression, objectives for tracked player tasks, rewards for completion output, and event triggers for integration with gameplay systems.