/godot-kotlin

Kotlin bindings for Godot Engine

Primary LanguageKotlinApache License 2.0Apache-2.0

Kotlin GDNative Logo

Kotlin/Native wrapper for the Godot Game Engine

Release README

0.1.0-3.2

Overview

This is a Kotlin language wrapper for the Godot game engine. It uses the GDNative utility to interact with Godot's core api's. The wrapper provides you Godot API's as Kotlin classes, so you can write your game logic completely in Kotlin. It will be compiled into a dynamic library using Kotlin/Native. It contains GDNative bindings which allows Godot core and Kotlin code interact with each other. You don't have to worry about any binding logic. Just write your game scripts like you would for GDScript or C#.

CI status: Build Status

Important notes

The binding will be merged with https://github.com/raniejade/godot-kotlin.
The development will be in this repository in a new branch. Name: master-merge. We strongly don't recommend using this binding until the new binding is in place!
The development of the new binding will probably start by the end of week 13 of 2020 here in this branch.
For further information and questions, visit the discord channel linked below.

Getting started

Look into Getting started section to get more information.

API differences from GDScript

Look into API differences from GDScript section to get more information.

Registering classes

Look into Registration section to get more information.

Compiling from sources

Look into Compiling from source section to get more information.

Roadmap

1.0.0-3.2 release version:

Annotation processing enhanced with expect and actual implementation.
Make test to be sure of core functionality (like missing set in dictionary), maybe port 2D platform to Kotlin native.
Implement performance test.
Project setup.

Later: Change cast that is actually horrible with infix methods.

Developer discussion

Ask questions and collaborate on Discord: https://discord.gg/qSU2EQs

Projects we use

Look into Projects we use section to see which projects we use internally.

Authors

All authors are indicated in CONTRIBUTORS section on GitHub.
This repo is a successor of MrAkakuy's kotlin bindings for godot, who did a great work with his project. We really thank him, without him this project would not exist.

If you have any questions, issues or feature suggestions you can write an Issue here.

License

Other bindings

There is another binding being developed by raniejade at raniejade/godot-kotlin, please check it out!