DCKit adds a fully-featured developer console to any Godot 4 project. Type commands at runtime, inspect and set variables, run chained operations, and extend with your own commands — all without touching the core.
Pipeline
Input goes through a lexer, parser, semantic analyzer, and async executor. Arguments are evaluated lazily, so control flow commands (if, try, while, repeat) short-circuit naturally with no special handling required.
Input Field
Built on CodeEdit with inline token coloring, chip-style argument backgrounds, color previews, and squiggly error underlines drawn live as you type.
Command Registry
Dotted namespaces (player.warp, var.set) with ranked prefix search. Aliases, deprecation notices, per-argument descriptions, and BBCode formatting are all supported out of the box.
Autocomplete and Hints
A live info panel shows the active command's signature as you type. Autocomplete suggests commands, constructor types, and variable names with prefix filtering.
Safety
Independent depth caps for argument nesting and execution recursion. A session logger records full call-stack ancestry on every entry.
Getting Started
- Copy the dckit/ folder into addons/
- Enable the plugin in Project → Project Settings → Plugins
- The DCKit autoload is ready — no further setup needed
Register your first command:
DCKit.register_def(
DCDefinition.new("player.heal",
_on_heal,
"Heals the player by the given amount.",
[DCParam.new("amount").describe("HP to restore.")])/
.alias("heal")
)
func _on_heal(ctx: DCContext) -> DCResult:
var amount = await ctx.arg(0)
player.heal(amount.as_float())
return DCResult.ok("healed %s" % amount),
For the full API, syntax reference, and demo project, visit the GitHub repository.
Godot 4.x · GDScript · MIT License
Changelog for version v1.0.0
No changelog provided for this version.