Skip to content

Kanama Docs

Kanama logo

Kanama brings Kotlin scripting to Godot 4 through a GDExtension runtime powered by the JVM and the Foreign Function & Memory API.

Kanama is desktop-first and currently targets the Godot 4.7 stable API. If you need a more established Kotlin integration for Godot today, also evaluate Godot Kotlin/JVM. Kanama is a separate Panama/FFM GDExtension path.

Start Here

New to Kanama? Start with the Introduction, then read The Editor Loop to understand the build button, build-on-save, scene reload, hot reload, and IntelliJ debugging workflow.

Already comfortable with Godot? The Writing Kotlin Scripts and Calling Godot APIs pages cover the main Kanama differences: this vs self, immutable value types, rebuilds, resource ownership, signals, and wrapper coverage. For existing GDScript projects, use Porting GDScript with the Kotlin Style guide.

Platform Status

Platform Status
macOS Supported (4.7 stable)
Linux x86_64 Supported (4.7 stable)
Linux arm64 Supported (4.7 stable)
Windows Supported (4.7 stable)
Android Supported (4.7 stable); debug ≥ Android 9, release ≥ Android 13 (Pixel 7 / Moto g 5G / S10+ / Pixel 3 XL)
iOS Supported (4.7 stable, Kotlin/Native); device-validated iPhone 12 / 15 Pro
Web Experimental (Kotlin/Wasm preview, 4.7 stable); 12-demo corpus in Chrome/Firefox CI + a local Safari gate; source-checkout export, desktop browsers only (iOS hand-checked, ungated), not Supported

See Version Support for exact Godot, JDK, smoke-test, and packaging boundaries.

Contributors

Changing Kanama itself? Start with the Contributor Guide. Architecture, wrapper maintenance, hot reload internals, demo porting rules, and Android internals live under the Contributing section.

Kanama is distributed under the MIT license.