Dialogue System is a complete conversation toolkit for Godot 4. Write dialogue in a readable text format (or JSON) with speakers, portraits and expressions, narration, labeled nodes, goto/gosub, choices with conditions, locked and once-only options, random/shuffle/cycle lines, variables, flags, event call-outs, includes and expression interpolation. A parser with line/column errors and a sandboxed expression engine keep scripts safe.
A UI-independent runner emits signals for every step; the included dialogue box adds a name plate, portraits, typewriter text with pauses and speed tags, five custom text effects, keyboard/gamepad/mouse choices, a backlog, auto-advance and three themes. State and exact position save to JSON and restore mid-choice. Localization keys, CSV export/import and a validator (CLI, in-game panel and editor dock with a node graph) are included, along with a playable pixel-art village quest demo.
All code, art and audio are original and CC0.
Highlights
- Readable .dlg format plus JSON, with line/column error messages and includes
- Choices with conditions, locked options, once-only and fallback; variables, flags, has_item() callbacks, events
- Sandboxed expression engine: no OS, load or node access from scripts
- Typewriter dialogue box with portraits, BBCode, 5 custom RichTextEffects, backlog, auto-advance, 3 themes
- Exact save/restore of position and state to JSON
- Localization keys, CSV export/import, TranslationServer hook
- Validator for dead ends, unreachable nodes, missing targets/speakers/portraits/variables/translations: CLI, in-game panel, editor dock with node graph
- Playable village quest demo, gamepad + keyboard + mouse, 398 automated checks
mammoth templates


