Quests
Quests are database entries that define tasks for the player to complete. Each quest has objectives to track progress, requirements to gate acceptance, and rewards granted on turn-in.
Creating a Quest Entry
Open the Spark Editor, go to Quests > Quests and click Create New.
Each quest entry defines:
Display Name
Quest name shown in the journal and UI.
Description
Quest text describing what the player needs to do.
Icon
Sprite for the quest in UI.
Quest Category
The category this quest belongs to (see Categories).
Quest Journal Turn In
If enabled, the player can turn in this quest directly from the Quest Journal without returning to an NPC.
Accept Requirements
List of requirement groups that must be met before the player can accept this quest.
Objectives
List of objectives the player must complete (see below).
Rewards To Select Count
How many rewards the player can choose from the selectable rewards list.
Selectable Rewards
Rewards the player can choose from — they pick a number of these equal to Rewards To Select Count.
Guaranteed Rewards
Rewards that are always given when the quest is turned in, regardless of selection.
Quest States
A quest progresses through these states:
Not Started
Quest has not been accepted yet.
Active
Quest has been accepted and objectives are in progress.
Ready To Turn In
All objectives are complete. The player can turn in the quest.
Completed
Quest has been turned in and rewards granted.
Abandoned
Quest was abandoned by the player.
Objectives
Each objective tracks a specific task. Objectives use a type system — different objective types track different things.
Objective Type
The type of task to track (ScriptableObject dropdown).
Description
Short description shown in the quest journal (e.g., "Kill 5 wolves").
Amount Required
How many times this objective must be completed (default: 1).
Built-in objective types include:
Enter Scene
Player enters a specific scene.
Craft Recipe
Player crafts a specific recipe (or any recipe). Requires Crafting plugin.
Unlock Recipe
Player unlocks a specific crafting recipe. Requires Crafting plugin.
Gain Currency
Player gains a specific amount of currency. Requires Currency plugin.
Reach Currency Total
Player's total currency reaches a target amount. Requires Currency plugin.
Objective types from other plugins become available when those plugins are installed. Custom objective types can be created by developers.
Rewards
Rewards are granted when the quest is turned in.
Guaranteed rewards are always given. Selectable rewards let the player choose — they pick a number equal to Rewards To Select Count.
Reward Type
The type of reward (ScriptableObject dropdown).
Reward Data
Type-specific configuration.
Built-in reward types include:
Trigger
Executes a trigger entry when claimed. Use this to grant items, currency, experience, or anything else triggers can do.
Unlock Recipe
Unlocks a crafting recipe. Requires Crafting plugin.
Gain Currency
Grants a currency amount. Requires Currency plugin.
Quest-Related Triggers
Add Quest
Adds a quest to the player's quest list (or removes it if the remove option is enabled). Configure the quest entry and optional delay.
Complete Quest Objective
Completes a specific objective by index, or fully completes all objectives if the "fully complete" option is enabled.
Quest-Related Requirements
Quest Status
Checks if a quest is in a specific state (Not Started, Active, Ready To Turn In, Completed, or Abandoned).
NPC Integration
When both the Quests and NPCs plugins are installed, NPC interaction types for quests become available:
Give Quest
Offers a quest to the player. The NPC shows the quest details and the player can accept or decline. Only available if the player hasn't already accepted or completed the quest and meets the accept requirements.
Turn In Quest
Allows the player to turn in a completed quest at this NPC. Only available if the quest is Active or Ready To Turn In.
NPCs with quest interactions display quest state indicators above their heads:
Quest Available
This NPC has a quest the player can accept.
Quest In Progress
The player has an active quest from this NPC.
Quest Completed
The player can turn in a quest at this NPC.
The quest state indicator component can be configured with:
Quest State UI Prefab
Prefab to instantiate for the quest state display.
Position Offset
Local position offset above the NPC (default: 0, 2.5, 0).
Update Interval
How often to check quest state in seconds (default: 0.5).
Persistence
Quest progress is automatically saved and loaded through Spark's save system. What is saved per quest includes the quest state, objective progress (current count and completion status for each objective), selected reward indices, and timestamps for when the quest was accepted and completed.
Last updated
Was this helpful?
