Skip to main content
Coding Quests

Godot Dialogue and Quest System

Dialogue gets messy once lines depend on what the player has done. Here each conversation is a graph of resource files with conditions and effects. Quests listen for game events, so pickups and NPCs never need to know about each other.

Free Godot 4.7 project · MIT licensed · v1.0.0

No account needed. Or download the v1.0.0 ZIP directly.

Talking to the alchemist, taking the quest, collecting three flasks and turning them in.

What is in it

  • Dialogue graphs saved as resource files. Each line has a speaker, text and choices.
  • Conditions decide whether a line or a choice shows up: a flag, an item count or a quest's state.
  • Effects run when a line plays or a choice is picked: set a flag, give items, or start a quest.
  • Quests with objectives, prerequisites, optional objectives and rewards.
  • Objectives that track themselves. Tag one item_collected:tonic, emit that event, and the quest counts it.
  • A global event bus, so combat, pickups and NPCs never need a reference to the quest system.
  • A visual dialogue editor: a Dialogue tab inside the Godot editor for building the graph.

Quick start

Download the project from GitHub and unzip it. In the Godot Project Manager, click Import and pick the project.godot file inside the folder.

  1. Press F5.
  2. Walk to the alchemist with WASD and press E to talk.
  3. Pick answers with 1, 2 or 3.
  4. Accept the quest, collect the three green flasks, and talk to the alchemist again to turn them in.

The README on GitHub explains how each part works and how to copy it into your own game.

Compatibility and limits

Made for
Godot 4.7, standard build. GDScript only, no .NET needed.
Tested on
Godot 4.7.2 stable, on Windows, including the editor plugin. Earlier versions of Godot 4 are untested.
Renderer
Compatibility
Code license
MIT. You can use it in commercial games. Read the license
Art and fonts
Alchemist, knight and flask sprites from Kenney's Tiny Dungeon pack (CC0 1.0).
Release
v1.0.0, commit 8687253, published 2026-10-03

Known limits

  • The visual editor edits dialogue, not quests. You make quests in the Inspector.
  • In the editor, conditions and effects open in the Inspector instead of editing inline.
  • Flags are true or false only.

Learn to build it

Copying a system works until you need to change it. These quests build it with you, one small step at a time. You write the GDScript in your browser and each step is checked before you move on.

Dialogue & Quest System

Builds this system lesson by lesson: branching dialogue, conditions and effects, the runtime that walks the graph, and quest tracking.

First 4 lessons free

The first 2 open without an account. The rest of the free ones need a free account.

See all the free Godot projectsReport a problem with this project