Skip to content

Setup

Getting Started

Add the Cartridge package quest as a dependency in your Scarb.toml

[dependencies]
starknet = "2.8.4"
dojo = { git = "https://github.com/dojoengine/dojo", tag = "v1.5.1" }
quest = { git = "https://github.com/cartridge-gg/arcade", tag = "v1.5.1" } 
 
[[target.starknet-contract]]
build-external-contracts = [
    "dojo::world::world_contract::world",
    "quest::events::index::e_QuestCreation", 
    "quest::events::index::e_QuestProgression", 
    "quest::events::index::e_QuestAdvancement", 
    "quest::events::index::e_QuestCompletion", 
]

Torii Configuration

Quest events require historical tracking by Torii for proper progress monitoring.

All quest-related events should be configured as historical events to ensure complete tracking:

rpc = <YOUR-RPC-URL>
world_address = <YOUR-WORLD-ADDRESS>
 
[indexing]
...
 
[sql] 
historical = [ // [!code focus]
    "<YOUR-NAMESPACE>-QuestProgression", // [!code focus]
    "<YOUR-NAMESPACE>-QuestAdvancement", // [!code focus]
] 

Controller Configuration

Configure the Controller to enable quest functionality:

import { ControllerConnector } from "@cartridge/connector";
 
const connector = new ControllerConnector({
  // Your existing configuration
  namespace: "your-game-namespace", // Required for quest data
  // ... other options
});

The namespace parameter is required for the quest system to fetch quest data from the Torii indexer.

Quest Data Models

The quest system uses several on-chain models:

  • QuestDefinition: Core quest configuration (timing, tasks, conditions)
  • QuestCreation: Quest metadata and creation events
  • QuestProgression: Player task progress tracking
  • QuestAdvancement: Individual task advancement events
  • QuestCompletion: Quest completion and reward claiming state

These models are automatically handled by the quest system when properly configured.

Next Steps

Once setup is complete, you can:

  1. Create quest definitions in your game
  2. Integrate quest progression events
  3. Use the built-in quest UI components
  4. Configure quest rewards and metadata

See the Integration guide for implementation details.