Quests&Objectives

Start and complete

#include "QuestComponent.h"
#include "QuestTypes.h"

const bool bStarted = QuestComp->StartQuestById(FName(TEXT("BrokerContract")));
const bool bProgressed = QuestComp->CompleteObjective(FName(TEXT("KillRaiders")), 1);

You can pass the asset: StartQuest(Def).

Amount less than 1 is treated as 1. Counts clamp to Required Count.

StartQuest returns false if the definition is missing. It returns false if the quest is already Active or Completed. It returns false if prerequisites are not met.

CompleteObjective increments every matching objective on Active quests in the current phase only.

ActionFunction
StartStartQuest / StartQuestById
AdvanceCompleteObjective(ObjectiveId, Amount)
Fail by fail idFailObjective(FailId)
Fail one questFailQuest / FailQuestById
AbandonAbandonQuest / AbandonQuestById

Fail and abandon are valid only from Active. The quest then becomes Available. The plugin erases the progress.

Time To Fail ticks here because standalone is authority.

float Remaining = 0.f;
if (QuestComp->GetObjectiveFailTimeRemaining(
        FName(TEXT("BrokerContract")),
        FName(TEXT("KillRaiders")),
        Remaining))
{
    // Remaining is live on authority
}