GameQuest

GameQuest is the in-game, runtime object to use, representing a Quest made with the Quest module.

GameQuest.cs
// View GameQuest.cs for all the methods (There are more!!)

// Get the IHaveQuests owner of this
public IHaveQuests Owner

// Get the "Quest" Scriptable Object
public Quest Parent() 

// Get the in-game unique GameId of this
public virtual string GameId(bool forceNew = false)

// Get the name and type of this
public string ObjectName()
public string ObjectType()

// Get the QuestStepStatus status
public QuestStep.QuestStepStatus status

Creating a GameQuest

Generally a GameQuest will live inside a GameQuestList.

Get List<QuestStep>

Each Quest will have a list of QuestStep objects.

Custom Rewards

You can add custom QuestReward objects at runtime, enabling customization of quests based on in game behavior or player choices.

Quest Expiration

Quests can optionally expire, and you can check the status. CheckExpiration() will return false if the Quest either does not expire, or has not expired. Otherwise it will return true, and do additional actions based on the Quest settings.

You can also extend the time, or reduce it by adding a negative value:

Force Quest Completion

You can for the GameQuest to complete as succeeded or failed. The rewards and all "end" operations will trigger.

Other methods

Last updated

Was this helpful?