Detailed usage
Subsystem
ADS Quest Subsystem is the main entry point. It centralizes runtime quest management: states, tracking, objective progress, rewards, and locks.
Accessing the Subsystem
In a Blueprint, use Get ADS Quest Subsystem.

Functions
| Function | Description |
|---|---|
SetCurrentDT | Sets the DataTable to use. By default, the Subsystem uses DT_Quests; if this table is suitable, there is no need to call this function. |
GetCurrentDT | Returns the active DataTable. |
ResetCurrentDTToDefault | Restores DT_Quests. |
DoesQuestExist | Checks whether a quest exists. |
GetAllQuestRows | Returns quest identifiers. |
GetQuest | Returns a quest data record. |
GetState | Returns a quest runtime state. |
SetState | Changes a quest state. |
IsObtainable | Indicates whether a quest can be obtained. |
IsQuestReadyToComplete | Indicates whether all objectives have been reached. |
GetQuestsToComplete | Returns quests that need to be completed manually. |
ResolveCompletionConflict | Resolves a completion conflict. |
Track | Adds a quest to tracking. |
Untrack | Removes a quest from tracking. |
ClearTracked | Clears tracking. |
GetTracked | Returns tracked quests. |
GetActiveObjectiveInTrack | Returns active objectives for the interface. |
Lock | Locks quests. |
Unlock | Unlocks quests. |
IsLocked | Indicates whether a quest is locked. |
GetLockedQuests | Returns locked quests. |
GetCurrentObjectiveViews | Returns active objectives for active quests. |
GetTrackedObjectiveViews | Returns active objectives for tracked quests. |
NotifyObjectiveReached | Manually reports a reached objective. |
GetRewards | Returns defined rewards. |
GetAvailableRewards | Returns available rewards. |
IsRewardReady | Indicates whether rewards are ready. |
ClearRewardReady | Clears ready rewards. |
GetStateRegistry | Returns states to save. |
SetStateRegistry | Restores saved states. |
ClearStateRegistry | Clears saved states. |
GetReachedObjectiveStepsRegistry | Returns reached objective steps. |
SetReachedObjectiveStepsRegistry | Restores reached objective steps. |
ClearReachedObjectiveStepsRegistry | Clears reached objective steps. |
GetReachedObjectiveElementsRegistry | Returns reached objectives. |
SetReachedObjectiveElementsRegistry | Restores reached objectives. |
ClearReachedObjectiveElementsRegistry | Clears reached objectives. |
GetRewardReadyRegistry | Returns ready rewards. |
SetRewardReadyRegistry | Restores ready rewards. |
ClearRewardReadyRegistry | Clears ready rewards. |
GetRewardGrantCountRegistry | Returns reward counters. |
SetRewardGrantCountRegistry | Restores reward counters. |
ClearRewardGrantCountRegistry | Clears reward counters. |
Dispatchers
| Dispatcher | Called when |
|---|---|
OnStateChanged | A quest state changes. |
OnTracked | A quest is added to tracking. |
OnUntracked | A quest is removed from tracking. |
OnTrackedClear | Tracking is cleared. |
OnObjectiveUpdated | An objective progress value is updated. |
OnObjectiveStepReached | An objective step is reached. |
OnAllObjectivesReached | All objective steps are reached. |
OnQuestsCompleted | One or more quests are completed. |
OnLocked | Quests are locked. |
OnUnlocked | Quests are unlocked. |
OnCompletionConflict | A completion conflict needs to be resolved. |
Actor Component
Add ADS Quest Participant Component to the actor that gives a quest or represents an objective. The same actor can serve both roles.
Parameters

| Parameter | Description |
|---|---|
TargetIDs | Logical identifiers matched by the owner as a quest objective. |
TargetType | Quest objective type represented by the owner. |
QuestsToGive | Quests that the owner can offer. |
Functions
| Function | Description |
|---|---|
GetQuestsToGive | Returns quests that are actually available. |
GetInObjectiveQuests | Returns quests for which the owner is the active objective. |
DoesMatchObjective | Checks whether the owner matches an objective. |
UpdateMarker | Reevaluates the marker. |
GetMarkerWidgetComponent | Returns the widget component. |
GetMarkerWidget | Returns the marker widget. |
Marker parameters control its offset, space, size, orientation, and maximum visibility distance.
Logic
Create a Blueprint child of ADS Quest Logic Base when the system needs to query or change data specific to your project.
| Function or event | Description |
|---|---|
GetObjectiveProgress | Returns an objective actual progress. |
ConsumeObjectiveRequirements | Consumes required resources when a quest ends. |
OnStateChanged | Responds to a state change. |
OnObjectiveUpdated | Responds to an objective progress update. |
OnObjectiveStepReached | Responds when an objective step is reached. |
OnAllObjectivesReached | Responds when all objective steps are reached. |
OnQuestsCompleted | Responds to quest completion. |
OnTracked | Responds when a quest is tracked. |
OnUntracked | Responds when a quest is no longer tracked. |
OnLocked | Responds to quest locking. |
OnUnlocked | Responds to quest unlocking. |
OnCompletionConflict | Responds to a completion conflict. |
Quest definition
Data Table
The DataTable uses the S_Quest structure. Each row represents a quest, and its RowName is its technical identifier. It includes the displayed text, type, category, unlock conditions, objective steps, rewards, and automations.
Manager
The Quest Manager is the recommended tool for creating, viewing, and editing quests. In Unreal Engine, open Window, then ADS Framework > Open ADS Quest Manager. You can also right-click in the Content Browser and choose Open ADS Quest Manager under ADS Framework; the screenshot below shows this method.

The manager lets you select the DataTable to edit, create or duplicate a quest, filter quests, and configure general information, objective steps, rewards, and automations.
