Artem Nesin - Android Native Bridge

Android Native Bridge Unreal Engine plugin designed to seamlessly bridge C++/Blueprints with native Android Java code. It enables two-way communication between Unreal Engine and Android system APIs or third-party SDKs without requiring manual modifications to AndroidManifest.xml or project build files.


📑 Documentation | 🎞️ Android Device Demo

Quick start

Step 1: Configure Build & Manifest (Optional)
If your Java code requires specific Android permissions (e.g., Camera, Location) or third-party SDK dependencies (via Gradle), you can configure them easily through plugin settings or Unreal Plugin Language (UPL). Note: For basic system APIs or custom Java helpers that don't require special permissions, you can skip this step entirely!

Step 2: Create Your Java Helper Class

Step 3: Register and Trigger from Unreal Engine (Blueprints or C++)

🎮 Included Demo & Examples
The plugin comes with a fully configured sample setup so you can test native communication immediately:
• Demo Level: Located at `AndroidNativeBridge ➔ Demo ➔ Maps ➔ ANB_Demo`. Build this map to your Android device to test the bridge in action.
• Example UI Widget: Check `AndroidNativeBridge ➔ Demo ➔ UserWidget ➔ ANB_Show` to see how to hook into Java functions directly from Blueprints and handle incoming native events.
• Sample Java Source Files: Located inside the plugin's folder under `Extras ➔ CustomService`. These serve as a reference template for writing your own Java helper classes.

Features:

  • Infinite Extensibility: Hook into any native Android feature or third-party library (AdMob, Firebase, Google Cloud, hardware sensors, etc.).

  • Bi-Directional Event Pipeline: Effortlessly execute Java methods from Blueprints/C++ and receive asynchronous native events back in Unreal Engine via a single unified bridge (NotifyUnreal).

  • Zero Manual Manifest Edits: Easily configure permissions, ProGuard rules, dynamic Gradle dependencies, and manifest entries directly from Unreal Engine's Project Settings — no need to manually edit XML.

⚠️ IMPORTANT CONFIGURATION NOTE

Android Package Name Requirement:

Before calling any Java methods via the bridge, open Project Settings ➔ Android ➔ Android Package Name and ensure you replace the default [PROJECT] placeholder with your actual project name (e.g., com.YourCompany.MyGame).

Leaving the default [PROJECT] tag will break JNI class lookup at runtime and result in Failed to find Java class errors.