Skip to content

utopia-rise/godot-kotlin-jvm

Repository files navigation

Godot Kotlin/JVM

Kotlin/JVM binding for the Godot Game Engine

GitHub Discord Website

Overview

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.

You can find project examples in those repositories:

Code Distribution

There are two methods for distributing JVM bytecode produced by the Kotlin compiler:

  1. 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.
  2. 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.

Important Notes

This version of the binding is currently in Beta! While you can fully use the binding, please note that there might still be breaking API changes. We welcome any suggestions you have for improving the project and its API.

To be able to use this binding, you need to download our custom editor build and export templates from the GitHub releases page! The official godot binaries will NOT work!

Documentation

The documentation can be found here. It's a work in progress, and we would love your input to make it even better!

Developer Discussion & Contribution

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.

Partners

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.

JetBrains logo

Special thanks

We'd like to give a special thanks to MOE community. They helped us a lot to get iOS platform working. If you intend to create a multi platform mobile app (not game), check out their project.