This is a Game instance subsystem that handles the logic of the quest system, you can retrieve a lot of informations by accessing it. You can access it from almost any Blueprint, as long as the blueprint is linked to a UWorld Object (ie: any actor, character widget bp, etc). The UBaseQuestObjective don’t have acces to the Manager by calling it like any other blueprints. Instead, the manager is defined in the cpp parent class so you can access it directly as a variable.
When you earn a quest, it is added to the owned quest array. The active quest is the one displayed on the HUD.
Note that even if a quest is not active, as long as it is in the owned quest, it is completable
Api
Variable
Access
Description
Owned Quests
Getter
Array of UQuestInstance that represents all the current quests that are active and completable
Completed Quests
Getter
Array of UQuestDefinition that represents all the quest that were previously completed
Active Quest Index
Getter
Integer that represent the current Active Quest (ie. the one dispalyed on the HUD)
Functions
Description
GetCompletedQuests
Getter for CompletedQuests
GetOwnedQuests
Getter for Owned Quests
GetActiveQuestIndex
Getter for Active Quest Index
GetActiveQuest
returns OwnedQuests[ActiveQuestIndex]
GetActiveQuestObjectives
returns an Array of UBaseQuestObjective that are the objectives of the active quests
GiveQuest
Give a Quest to the Actor
UpdateActiveQuest
Change the active quest to be displayed on the HUD
Event Dispatcher
Description
OnQuestStarted
Is Called when a quest is started (ie: given to the user)
OnQuestCompleted
Is Called when a quest is completed (ie: all non-optional objectives were completed)
OnActiveQuestChanged
Is Called when the active quest has changed
How To access it
From any blueprint graph just type Get Quest manager subsytem: