Author quests as data assets.
Track them per player.
Add one component to PlayerState. Complete objectives by name. Progress replicates to the owning client. Your save game keeps it. Your HUD draws it.
Setup
Quest flow
Quest flow
Start and complete
StartQuest, StartQuestById, CompleteObjective.
Quest flow
Fail, abandon, timers
FailObjective, FailQuest, AbandonQuest, Time To Fail.
Quest flow
Events
Bind On Quest Started, progress, complete, fail, abandon.
Quest flow
Query state
GetQuestsByStatus, FindQuestState, vendor filters.
Authority & save
Guide, HUD, and Sample
Content
Quest Guide
Quest Definition, catalog, flags, giver and turn-in, rewards, sounds.
Your widgets
HUD
Tracker, quest log, and vendor board. Uses your Solo / Multiplayer and BP / C++ mix.
Additional File
Sample
QASSample is the Additional File. L_QAOSample is the example map with quests, HUD, and save.