Description
Changelog
Reviews (0)

DialogueDSL(or DDSL) is a plugin for Godot 4.6+ for creating script-based dialogues with GDScript integration, providing backend that connects to custom UI via a simple interface

Source code and latest versions on Github. Issues and potential feature requests can be reported on the project's Github Issues

Features

  • built-in syntax highlighting for .ddsl dialogue scripts
  • translation support
  • no dependencies
  • integration with GDScript
  • simple interface for creating dialogue UI
  • custom input types creation
  • structured branching over jumping

Documentation

Github Wiki

Usage

In GDScript

# async
Dialog.start(
    "res://path/to/dialogue.ddsl",
    Dialog.Options.new(
        {}, # variables
        {}, # constants
        false, # singleton access from script, false = sandboxed
    ),
    _callback, # receives Dictionary[String, Variant] of script's variables as sole argument
)

# OR

# retrieve the script's internal variables after it's finished, as Dictionary[String, Variant]
var variables = await Dialog.start(
    "res://path/to/dialogue.ddsl"
    # no options = default
    # no callback on finish
)

Example Script

edwin = ^"res://sprites/portraits/edwin.png"
edwin: "Hello, little rover. Are you lost?" { autoconfirm = true }
<- option
- "Yes"
    edwin: "Oh, well, we can't have that here. Come, follow me"
    Cutscenes.trigger("edwinTavernWalk")
- "No"
    edwin: "Are you sure? Well, then... Hope this helps you in your journey"
    Inventory.add("potion/health2")
    edwin: "If you need me, you can find me in my tavern"

Plans

  • add built-in UI
  • add loops
  • add separate editor for .ddsl scripts
  • improve sandboxing

Changelog for version 1.2.1

No changelog provided for this version.

Reviews

DialogueDSL has no reviews yet.

Login to write a review.

Consider supporting the creators!

If you enjoyed this asset consider supporting its creator. Follow the link below.