GDPP compiles GDScript into binaries:
- High performance: compiles to native code and binaries
- Cross-platform: supports desktop, mobile, and Web platforms
- Easy to use: one-click export after enabling the plugin
- Syntax extensions: a more powerful GDScript language
| Workload | GDScript | GDPP AOT | Relative performance |
|---|---|---|---|
| Matrix multiplication | 3.064 s | 30.397 ms | 10,080.53% |
| 2D test case | 17.776 μs/frame | 0.140 μs/frame | 12,697.14% |
Note: These results were measured on a Mac mini with a 10-core M4 and 16 GB of memory, running macOS 26.6.2 with the official Godot 4.7.2 editor and export templates.
- Extract the plugin to
addons/gdpp, then enable it. - Make sure a C++ compiler is installed locally, such as MSVC on Windows.
- Export the project and wait for the compilation progress bar to complete.
GDPP targets compatibility with official GDScript and plans to support additional syntax. If you encounter compatibility issues or have suggestions for future GDScript syntax enhancements, please share them through an issue.
Use the GDPP Plugins panel or a YAML configuration to export a GDScript plugin as a compiled GDPP plugin for use in other Godot projects. Using the exported plugin requires neither GDPP nor a C++ compiler. The package retains .gd interface files for resource references and public APIs; plugin logic runs in the native library.
When exporting a whole project, GDPP compiles project scripts outside addons/. To compile a plugin, export it separately.
Enable GDPP and open the GDPP Plugins bottom panel. Select an installed plugin or enter an external source directory. Edit the generated YAML to choose targets and compilers, import or save a configuration, then click Inspect to view its configuration and script inventory or Export to compile and package it. The target field overrides build.targets; separate names with commas.
The panel works in macOS, Windows, and Linux editors without a separate gdpp command-line installation. Install the compiler or toolchain required by your target platform before exporting.
Download and extract gdpp-compiler.zip from Release. Keep its directory structure intact. Run the program for your system, or add its directory to PATH.
linux/x86_64/gdpp # glibc 2.35 or later
windows/x86_64/gdpp.exe # Windows 10 or later
Save the example below as my_plugin.yaml, set your plugin directory, target platforms, and compilers, then run:
gdpp inspect my_plugin.yaml
gdpp build my_plugin.yaml --targets windows-msvcschema_version: 1
plugin:
source: ./addons/my_plugin
godot:
executable: godot
# path: /opt/godot
target_version: "4.7"
build:
targets: [windows-msvc]
output:
directory: ./dist
targets:
windows-msvc:
platform: windows
architecture: x86_64
compiler: cl.exe
macos:
platform: macos
architecture: universal
compiler: clang++
android:
platform: android
architecture: arm64
ndk: /opt/android-ndk- Set
plugin.sourceto your source plugin directory andoutput.directoryto the export directory. Relative paths resolve from the YAML directory. - Set
godot.executableto the Godot program name. Omitpathwhen it is inPATH; otherwise, set it to the executable's directory. Settarget_versionto the target Godot version, such as"4.7". - Configure your target platforms under
targets. Setcompilerto a full path or a program name inPATH; on Windows, usecl.exeor MinGW64'sg++.exe. For Android, set thendkdirectory. - Select target names with
build.targetsor the command's--targetsoption. Separate multiple names with commas, for example--targets macos,android.
Each export target needs its toolchain: MSVC uses Windows, macOS/iOS use macOS and Xcode, Android uses the NDK, and Web uses Emscripten. Exporting preserves your original plugin.
GDScript code that makes frequent engine calls may not see a significant performance improvement. We are also optimizing GDPP's compilation process to reduce boundary crossings as one way to improve performance.
- The code in this repository is GDPP Community Edition. It is fully open source and free under the MIT License.
- GDPP Community Edition uses the
1.xversion series, while Professional Edition uses2.x. Professional Edition is free for individual users, including small indie game teams that are not organized as companies. Companies, organizations, and institutions should contact us.