# Quests

Quest are scriptable objects (right click -> Create -> DialogueQuests -> Quest). And loaded from the Resources/Quests folder (by default), by the DQ Manager.

<figure><img src="https://2695461605-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ6jVzoPVfaRoTB4fAWHC%2Fuploads%2FYAEiUhAsdPLKvt6yEdsa%2Fquests.png?alt=media&#x26;token=dc8882db-615a-4a07-86cd-74f333757069" alt=""><figcaption></figcaption></figure>

**Quest ID:** a reference unique to each quest, used in the save file.&#x20;

**Title and Desc:** Text displayed as title and description of this quest. Icon: Icon for the quest. (optional). **Sort Order:** Optional, to sort the quest in a specific order in the quest panel.&#x20;

### How to Start or Complete a quest?&#x20;

Quests are started, and completed by using NarrativeEvents and NarrativeEffects.&#x20;

Quests have 4 possible status: not started, active, completed, failed.&#x20;

Alternatively, it is also possible to Start or Complete a quest by calling a function in script:

```
QuestData quest = QuestData.Get("quest_id");
NarrativeManager.Get().StartQuest(quest);
```

### Quest Steps

Quest Steps are optional, but it is possible to define additional "steps" to a quest. The text will be updated in the Quest Journal based on which step the quest currently is at. You can update the current step of a quest with a NarrativeEffect, or by calling a function inside NarrativeManager.

### Quest Journal

Quests will appear in the Quest Panel (open it with J by default), once they are started or completed.
