Awesome
🎮️ Game Controller Extension for libGDX, Version 2
Use game controllers with ease in your libGDX games.
📖️ Documentation - 🎁️ Feature overview - Compatibility
💾️ Installation
The recommended way to use gdx-controllers is via dependency management with Gradle or Maven. Artifacts are available in Snapshot Repository and Maven Central.
project-root/build.gradle:
ext {
gdxControllersVersion = '2.0.1' // see badges above for latest versions
}
Add the following dependencies:
core:
implementation "com.badlogicgames.gdx-controllers:gdx-controllers-core:$gdxControllersVersion"
desktop:
implementation "com.badlogicgames.gdx-controllers:gdx-controllers-desktop:$gdxControllersVersion"
This will automatically fetch the underlying SDL-based natives and Java wrappers. If you want to use a newer version, add the dependency yourself:
implementation("com.badlogicgames.jamepad:jamepad:$jamepadVersion") {
exclude group: 'com.badlogicgames.gdx', module: 'gdx-jnigen-loader'
}
Make sure to check the compatibility doc when doing so.
android:
implementation "com.badlogicgames.gdx-controllers:gdx-controllers-android:$gdxControllersVersion"
Proguard setting:
-keep class com.badlogic.gdx.controllers.android.AndroidControllers { *; }
ios:
implementation "com.badlogicgames.gdx-controllers:gdx-controllers-ios:$gdxControllersVersion"
robovml.xml
needs the following lines added to forceLinkClasses
and frameworks
:
<pattern>com.badlogic.gdx.controllers.IosControllerManager</pattern>
....
<framework>GameController</framework>
If you forget to explicitly link the framework, no game controller will show up.
html:
implementation "com.badlogicgames.gdx-controllers:gdx-controllers-core:$gdxControllersVersion:sources"
implementation "com.badlogicgames.gdx-controllers:gdx-controllers-gwt:$gdxControllersVersion:sources"
You also need to add the following file to your GdxDefinition.gwt.xml in your html project:
<inherits name="com.badlogic.gdx.controllers" />
<inherits name="com.badlogic.gdx.controllers.controllers-gwt"/>
Building from source
To build from source, clone or download this repository, then open it in Android Studio. Perform the following command to compile and upload the library in your local repository:
gradlew clean uploadArchives -PLOCAL=true
See build.gradle
file for current version to use in your dependencies.
🤝️ News & Community
You can get help on the libgdx discord.
License
The project is licensed under the Apache 2 License, meaning you can use it free of charge, without strings attached in commercial and non-commercial projects. We love to get (non-mandatory) credit in case you release a game or app using this project!