reckfellENGINE

Java/Kotlin Android plugins

A plugin bridges the game to an Android SDK. Its AAR is included in a Gradle project; a desktop DLL or C# script alone does not register a Java plugin.

On this page

A plugin bridges the game to an Android SDK. Its AAR is included in a Gradle project; a desktop DLL or C# script alone does not register a Java plugin.

Minimum contract

  1. Derive a Java/Kotlin class from org.reckfellengine.reckfell.plugin.ReckfellPlugin and implement a stable getPluginName(). Changing it after release requires updating callers.
  2. Mark engine-callable methods @UsedByReckfell. The old getPluginMethods() list is deprecated. Use bridge-supported types; adapt arbitrary SDK objects before returning them.
  3. For events, declare SignalInfo entries in getPluginSignals() and use emitSignal with matching names and arguments.
  4. Register the class through manifest metadata prefixed org.reckfellengine.plugin.v2.; its value is the fully qualified class name. Include the AAR and dependencies in Gradle export.
  5. Export a debug APK and check the plugin singleton by name before calling methods. A missing singleton is a registration/packaging failure, not a reason to retry calls forever.

Threads and lifecycle

Call Android UI on its UI thread. Marshal SDK callback results to the appropriate engine thread; do not mutate the Entity tree from arbitrary callbacks. Use onMainPause, onMainResume and onMainDestroy to stop subscriptions and release external resources.

If debug works but release fails, inspect shrinker/keep rules, manifest and transitive dependencies in the final APK. Registration interfaces were source-reviewed; no plugin example was compiled or tested on a device.

Reckfell Engine documentationBack to top ↑
QUICK LINKSGetting startedEntity hierarchyC# & .NET 10Scenes and prefabs
Reckfell guides and full API K
reckfellENGINE
RECKFELL ACCOUNT

Sign in

Sign in to your Reckfell account.

One account for the entire Reckfell platform.