Skip to main content
Dialogue Engine

Welcome to Dialogue Engine

Dialogue Engine is a powerful yet minimalistic dialogue system for Godot 4.2.1+, designed for creating rich branching narratives with player choices, conditions, dynamic text formatting, and metadata support.

Quickstart

Get started with your first dialogue in minutes

Installation

Add Dialogue Engine to your Godot project

API Reference

Explore the complete API documentation

Examples

Browse practical code examples

Key Features

Branching Dialogues

Create complex dialogue trees with multiple choices, conditions, and branching paths using branch IDs

Conditional Logic

Support for conditional branching with user-defined callables for dynamic decision-making

Player Choices

Add player choice options, each linked to specific dialogue entries via goto IDs

Dynamic Text

Dynamic text formatting using callables, arrays, and dictionaries for personalized dialogue

Named Entries

Named entries for easy reference and lookup within the dialogue tree

Metadata Support

Attach custom data like actor names, emotions, and animations to dialogue entries

Signal System

Comprehensive signal system for dialogue events (started, continued, finished, canceled)

Debugger Integration

Automated dialogue graphing and debugging integration with Godot’s debugger

Quick Example

var dialogue_engine : DialogueEngine = DialogueEngine.new()
dialogue_engine.add_text_entry("Hello")

var print_dialogue : Callable = func (dialogue_entry : DialogueEntry) -> void:
    print(dialogue_entry.get_text())

dialogue_engine.dialogue_continued.connect(print_dialogue)

dialogue_engine.advance() # prints "Hello"
dialogue_engine.advance() # Nothing prints -- the dialogue finished.
dialogue_engine.advance() # prints "Hello" again -- the dialogue restarted

Learn More

Core Concepts

Understand dialogue trees and branching

Guides

Step-by-step tutorials and guides

GitHub Repository

View source code and contribute

Build docs developers (and LLMs) love