Skip to content

Quick Start

GDCC is an open-source GDScript compiler and toolchain that compiles GDScript scripts into native dynamic library modules executed through the GDExtension interface. Its built-in fast compilation backend compiles and links inside the compiler process — no external C compiler required.

The most convenient way to use GDCC is the Godot editor plugin (requires Godot 4.5 or newer):

  1. Download the editor plugin archive gdcc_editor_addon.zip from GitHub Releases.
  2. In the Godot editor, open the “Asset Library” page, click the “Import” button in the top-right corner, select the downloaded zip file, and confirm the import.
  3. Click the “Project” tab in the top toolbar, open the “Project Settings” page, go to the “Plugins” tab, and enable the GDCC editor plugin.
  4. A “GDCC” tab will appear in the bottom dock; open it and follow the setup wizard to finish installation (the initial setup requires about 60MB of disk space).
  5. Once installed, create a new .gd3 script, write code, and click the “Build” button in the top-right corner to compile your GDScript into a GDExtension module and hot-reload it into the running Godot engine.

GDCC recognizes scripts to compile by the .gd3 suffix — .gd scripts in your project still run on the built-in interpreter and are not affected. To enable GDCC compilation for a script, rename its suffix to .gd3.

After clicking the Build button, the dynamic library is deployed into the project and hot-reloaded automatically — no editor restart or scene reload needed; signal connections and Callables already established in the scene are repointed to the new code. The popup panel next to the Build button lets you switch the compiler backend, optimization level, and strict mode; the bottom dock shows connection, diagnostics, and build status along with logs.

The plugin also provides real-time diagnostics, code completion, hover documentation, go-to-definition (requires Godot 4.6+), outline, and syntax highlighting for .gd3 scripts.

For command-line and CI/CD scenarios, download a platform package and extract it to any directory. Normal platform packages are named gdcc-<version>-<os>-<arch>.zip and contain the gdcc launcher and core files; *-full.zip packages additionally bundle all cross-compilation toolchains.

The basic command shape is:

Terminal window
gdcc [options] <files...>

Compile one script:

Terminal window
gdcc -o build/demo src/player.gd

Compile multiple scripts into one module:

Terminal window
gdcc -o build/demo src/player.gd src/enemy.gd

When a script belongs to a Godot project, pass the project file so GDCC can emit .gdextension metadata:

Terminal window
gdcc --project game/project.godot -o build/demo game/src/player.gd
  • -o / --output <output> sets the output target path. If omitted, GDCC derives a name from the input files.
  • --gde <version> selects the Godot GDExtension API version. Currently only 4.5.1 is supported.
  • --opt / --optimize <level> selects debug or release.
  • --backend <backend> selects the C compiler backend: tcc or zig. If omitted, debug builds use the built-in tcc backend and release builds use zig.
  • --target <platform> selects a target such as linux-x86-64, windows-x86-64, linux-aarch64, or macos-aarch64.
  • --prefix <prefix> and --class-map Source=Canonical control generated top-level canonical class names.

GDCC can run as a long-lived background process, offering syntax analysis, diagnostics, completion, and build capabilities to external tools over JSON-RPC:

Terminal window
gdcc serve [--host 127.0.0.1] [--port 6099]

The editor plugin builds its IDE-grade features on top of this service. The editor plugin launches the service automatically from your configuration when it isn’t running — you don’t need to run this command manually.