This repository serves as a quickstart template for building a Godot Android plugin for Godot 4.2+.
- An illustrative simple Godot project:
plugin/demo
- Preconfigured gradle build file to build and package the contents for the Android plugin:
plugin/build.gradle.kts
- Preconfigured export scripts template:
plugin/export_scripts_template
- Preconfigured manifest for the Android plugin:
plugin/src/main/AndroidManifest.xml
- Preconfigured source files for the Kotlin/Java logic of the Android plugin:
plugin/src/main/java
Note: Android Studio is the recommended IDE for developing Godot Android plugins. You can install the latest version from https://developer.android.com/studio.
To use this template, log in to github and click the green "Use this template" button at the top of the repository page. This will let you create a copy of this repository with a clean git history.
After cloning your own copy to your local machine, configure the project as needed. Several
TODO
have been added to the project to help identify where changes are needed; here's an
overview of the minimum set of modifications needed:
- Update the name of the Android plugin. Note that the name should not contain any spaces:
- Open
settings.gradle.kts
and update the value forrootProject.name
- Open
plugin/build.gradle.kts
and update the value forpluginName
- Open
plugin/export_scripts_template/plugin.cfg
and update the value forname
- Open
plugin/export_scripts_template/export_plugin.gd
and update the value for_plugin_name
- Open
- Update the package name of the Android plugin:
- Open
plugin/build.gradle.kts
and update the value forpluginPackageName
- Make sure subdirectories under
plugin/src/main/java
match the updated package name - Make sure that
package
at the top ofGodotAndroidPlugin.kt
matches the updated package name
- Open
- Complete the plugin configuration
- Open
plugin/export_scripts_template/plugin.cfg
- Update the
description
field - Update the
author
field - Update the
version
field
- Update the
- Open
- In a terminal window, navigate to the project's root directory and run the following command:
./gradlew assemble
- On successful completion of the build, the output files can be found in
plugin/demo/addons
You can use the included Godot demo project to test the built Android plugin
- Open the demo in Godot (4.2 or higher)
- Navigate to
Project
->Project Settings...
->Plugins
, and ensure the plugin is enabled - Install the Godot Android build template by clicking on
Project
->Install Android Build Template...
- Open
plugin/demo/main.gd
and update the logic as needed to reference your plugin and its methods - Connect an Android device to your machine and run the demo on it
Additional dependencies added to plugin/build.gradle.kts
should be added to the _get_android_dependencies
function in plugin/export_scripts_template/export_plugin.gd
.
To make it easier to access the exposed Java / Kotlin APIs in the Godot Editor, it's recommended to provide one (or multiple) gdscript wrapper class(es) for your plugin users to interface with.
For example:
class_name PluginInterface extends Object
## Interface used to access the functionality provided by this plugin
var _plugin_name = "GDExtensionAndroidPluginTemplate"
var _plugin_singleton
func _init():
if Engine.has_singleton(_plugin_name):
_plugin_singleton = Engine.get_singleton(_plugin_name)
else:
printerr("Initialization error: unable to access the java logic")
## Shows a 'Hello World' toast.
func helloWorld():
if _plugin_singleton:
_plugin_singleton.helloWorld()
else:
printerr("Initialization error")