RevenueCat Bridge

Documentation Unreal Engine IAP Subscriptions Mobile

Setup, API reference, testing, and troubleshooting for the RevenueCat Bridge Unreal Engine plugin.


v1.0.0 - This is the initial release. Some edge cases may not be covered yet. If you run into any issues or have a feature request, reach out to me directly and I'll get it fixed or added in an update.

Overview

RevenueCat Bridge wraps RevenueCat's native Android and iOS SDKs behind a single UGameInstanceSubsystem. One instance lives for the entire game session - accessible from Blueprints, C++, or async action nodes.
Platform support: Android and iOS at runtime. Win64 editor builds compile and run with stub implementations for iteration.
Included SDKs:
  • Android: RevenueCat v9.25.0 (Gradle, pulled at build time)
  • iOS: RevenueCat v5.63.0 (xcframework, bundled)
The plugin does not include a storefront UI, does not handle server-side logic, and does not run on desktop at runtime.

Documentation


Typical Flow

The plugin auto-initializes on startup using the API keys from Project Settings. Here's the basic sequence:
Game Starts
  -> SDK auto-configures
  -> OnConfigured fires

FetchOfferings()
  -> OnOfferingsFetched fires with your products

Player taps "Buy"
  -> PurchasePackage(SelectedPackage)
  -> Native store dialog appears
  -> OnPurchaseCompleted fires

IsEntitlementActive("pro")
  -> true if the player has an active purchase

Architecture

Your Game (Blueprints / C++)
        |
  URevenueCatSubsystem (GameInstanceSubsystem)
        |
   Platform Bridge (compile-time)
      /           \
  Android          iOS
  (JNI -> Java)    (Obj-C++ -> Swift)
      |                |
  RevenueCat SDK   RevenueCat SDK
  v9.25.0 (AAR)   v5.63.0 (xcframework)
      |                |
  Google Play      App Store
  • Android: JNI calls a Java bridge class → RevenueCat SDK. Callbacks return via JNI native methods, marshalled onto the game thread.
  • iOS: Obj-C++ calls the RevenueCat SDK directly. Callbacks dispatched to the game thread via AsyncTask.
  • Win64 editor: All functions are stubbed. ConfigureSDK fires OnConfigured so initialization logic works. Other async operations won't fire callbacks.

Requirements

RequirementDetails
EngineUnreal Engine 5.5+
PlatformsAndroid, iOS (editor stubs for Win64)
RevenueCat accountFree tier at revenuecat.com
Store setupGoogle Play Console and/or App Store Connect with products configured
RevenueCat dashboardProducts linked, offerings created, entitlements configured

Support

Updates will be delivered through Fab Marketplace.
This plugin is not affiliated with or endorsed by RevenueCat, Inc., Google LLC, or Apple Inc.