This is a Kotlin language binding for the Godot game engine. It is built as a module (like the C# binding) to interact with Godot's core internally.
The binding provides you Godot API's as Kotlin classes, so you can write your game logic completely in Kotlin.
There are two methods for distributing JVM bytecode produced by the Kotlin compiler:
- A classic JAR file: your code will be packed into a
.jar
file, which is then executed by an embedded JVM. So the developer does not have to worry about their user installing a JRE. The JVM is already embedded in your game executable. - Dynamic Library using GraalVM Native Image: please read more about this in our documentation page.
Just write your game scripts like you would for GDScript or for C# but with all the syntactic sugar of Kotlin.
This version of the binding is currently Alpha! This means that the bindings are not production-ready. However, if you are curious in using Kotlin in Godot, this is a good opportunity to help us in improving the project!
The documentation can be found here. It's a work in progress, and we would love your input to make it even better!
Join us on our Discord server to ask questions and work together with a friendly community.
If you want to contribute to the project, please read through the contribution guidelines and the setup sections.
JetBrains is helping us to develop this project by providing development tools to maintainers. Intellij IDEA is our IDE of choice for Kotlin development and we strongly recommend using it.