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.

Get ADS Quest Subsystem function

Functions

FunctionDescription
SetCurrentDTSets the DataTable to use. By default, the Subsystem uses DT_Quests; if this table is suitable, there is no need to call this function.
GetCurrentDTReturns the active DataTable.
ResetCurrentDTToDefaultRestores DT_Quests.
DoesQuestExistChecks whether a quest exists.
GetAllQuestRowsReturns quest identifiers.
GetQuestReturns a quest data record.
GetStateReturns a quest runtime state.
SetStateChanges a quest state.
IsObtainableIndicates whether a quest can be obtained.
IsQuestReadyToCompleteIndicates whether all objectives have been reached.
GetQuestsToCompleteReturns quests that need to be completed manually.
ResolveCompletionConflictResolves a completion conflict.
TrackAdds a quest to tracking.
UntrackRemoves a quest from tracking.
ClearTrackedClears tracking.
GetTrackedReturns tracked quests.
GetActiveObjectiveInTrackReturns active objectives for the interface.
LockLocks quests.
UnlockUnlocks quests.
IsLockedIndicates whether a quest is locked.
GetLockedQuestsReturns locked quests.
GetCurrentObjectiveViewsReturns active objectives for active quests.
GetTrackedObjectiveViewsReturns active objectives for tracked quests.
NotifyObjectiveReachedManually reports a reached objective.
GetRewardsReturns defined rewards.
GetAvailableRewardsReturns available rewards.
IsRewardReadyIndicates whether rewards are ready.
ClearRewardReadyClears ready rewards.
GetStateRegistryReturns states to save.
SetStateRegistryRestores saved states.
ClearStateRegistryClears saved states.
GetReachedObjectiveStepsRegistryReturns reached objective steps.
SetReachedObjectiveStepsRegistryRestores reached objective steps.
ClearReachedObjectiveStepsRegistryClears reached objective steps.
GetReachedObjectiveElementsRegistryReturns reached objectives.
SetReachedObjectiveElementsRegistryRestores reached objectives.
ClearReachedObjectiveElementsRegistryClears reached objectives.
GetRewardReadyRegistryReturns ready rewards.
SetRewardReadyRegistryRestores ready rewards.
ClearRewardReadyRegistryClears ready rewards.
GetRewardGrantCountRegistryReturns reward counters.
SetRewardGrantCountRegistryRestores reward counters.
ClearRewardGrantCountRegistryClears reward counters.

Dispatchers

DispatcherCalled when
OnStateChangedA quest state changes.
OnTrackedA quest is added to tracking.
OnUntrackedA quest is removed from tracking.
OnTrackedClearTracking is cleared.
OnObjectiveUpdatedAn objective progress value is updated.
OnObjectiveStepReachedAn objective step is reached.
OnAllObjectivesReachedAll objective steps are reached.
OnQuestsCompletedOne or more quests are completed.
OnLockedQuests are locked.
OnUnlockedQuests are unlocked.
OnCompletionConflictA 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

ADS Quest Participant Component parameters

ParameterDescription
TargetIDsLogical identifiers matched by the owner as a quest objective.
TargetTypeQuest objective type represented by the owner.
QuestsToGiveQuests that the owner can offer.

Functions

FunctionDescription
GetQuestsToGiveReturns quests that are actually available.
GetInObjectiveQuestsReturns quests for which the owner is the active objective.
DoesMatchObjectiveChecks whether the owner matches an objective.
UpdateMarkerReevaluates the marker.
GetMarkerWidgetComponentReturns the widget component.
GetMarkerWidgetReturns 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 eventDescription
GetObjectiveProgressReturns an objective actual progress.
ConsumeObjectiveRequirementsConsumes required resources when a quest ends.
OnStateChangedResponds to a state change.
OnObjectiveUpdatedResponds to an objective progress update.
OnObjectiveStepReachedResponds when an objective step is reached.
OnAllObjectivesReachedResponds when all objective steps are reached.
OnQuestsCompletedResponds to quest completion.
OnTrackedResponds when a quest is tracked.
OnUntrackedResponds when a quest is no longer tracked.
OnLockedResponds to quest locking.
OnUnlockedResponds to quest unlocking.
OnCompletionConflictResponds 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.

Direct DataTable editing

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.

Opening ADS Quest Manager

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.

ADS Quest Manager