Skip to content

Repository files navigation

Revnix

Subscriptions, Paywalls and Attribution
for Your Unity Game

UPM package Unity 2021.3+ license

Website • Docs • API Reference

Revnix: subscriptions, paywalls and attribution for mobile apps

Revnix SDK makes subscriptions, paywalls and attribution for Unity fast and easy. Unity IAP keeps the store flow; Revnix validates the purchase on the server, unlocks the entitlement and renders your dashboard paywall with plain UGUI. No prefabs, no TextMeshPro, no extra dependencies.

Table of Contents

Why Revnix?

  • Unity IAP bridge. One call registers a Unity IAP order; with Unity IAP 5 the StoreKit 2 proof travels along, so iOS purchases are verified on arrival.
  • Entitlements that work offline. Entitlement checks are cached on device, so a player who paid stays unlocked without a network.
  • Remote paywalls. Design paywalls in the dashboard and ship copy, prices and layout changes without an app release.
  • A/B tests and holdouts. Split a placement between variants, target an audience and ship the winner from the dashboard.
  • Attribution and deep links. Install attribution, deferred deep links, Apple Search Ads and MMP forwarding from the same package.
  • Integrations. Send subscription events to analytics and messaging tools, or to your own server through signed webhooks.
  • Real-time analytics. Revenue, MRR, LTV, ROAS, cohorts and funnels, filtered by store, product, channel and campaign.

Getting Started

In Unity, open Window → Package Manager → + → Add package from git URL and paste:

https://github.com/Oth-tech/RevnixSDK-Unity.git#v1.7.0

Or add it to Packages/manifest.json:

"com.revnix.sdk": "https://github.com/Oth-tech/RevnixSDK-Unity.git#v1.7.0"

The Unity IAP bridge switches on by itself when com.unity.purchasing is in the project. Read the installation guide and configuration reference to set up the package.

Quick start

using Revnix.Unity;
using Revnix.Unity.IAP;

// 1. Configure once at startup (publishable key only, never rvx_sk_)
var revnix = RevnixSdk.Configure(
    "rvx_pk_live_…",
    "https://<your-deployment>.convex.site");

// 2. Register a Unity IAP 5 purchase in OnPurchasePending
var result = await RevnixUnityIap.Register(revnix, order);
if (result != null) await revnix.WaitForEntitlements(result.Seq);

// 3. Check access anywhere. Never throws; unknown means locked.
if (await revnix.IsEntitled("pro")) { /* unlock */ }

Your API key and deployment URL are in the dashboard under Settings. See API keys.

Purchases and entitlements without server code

Unity IAP shows the store sheet. Revnix does everything after it.

  • RevnixUnityIap.Register(revnix, order) sends the purchase with its StoreKit 2 proof, so iOS purchases are verified immediately. On Unity IAP 4.x, pass the purchased Product instead.
  • WaitForEntitlements(seq) waits until the purchase is on the ledger, so the unlock is instant.
  • Entitlements and placements are cached on device, so paid players stay unlocked offline.
  • Failed registrations are queued durably and retried on the next launch.
  • No Unity IAP? Call RegisterPurchase() with the store token yourself.

Learn more in Make purchases and Check entitlements.

Paywalls that update without app releases

Revnix paywall builder: element tree, background library and a live iPhone preview

With the Revnix paywall builder you design the paywall in the dashboard and render it in your game.

  • Native UGUI renderer: RevnixPaywallView.Create draws the published design under any Canvas, all nine layout templates, no prefabs or bundled assets.
  • Update without redeploying: change prices, copy or layout any time; the next placement resolve picks it up.
  • Implicit placements: trigger a paywall on install, launch, session start or a deep link from the dashboard; the game only handles onImplicitPaywall. See Implicit placements.
  • Localized: Restore, Terms and Privacy labels in 43 languages; RevnixSdk.SetLocale("de") forces one.
var placement = await revnix.ResolvePlacement("main_paywall");
var paywall = RevnixPaywallView.Create(canvas.transform, new RevnixPaywallOptions
{
    Config = placement.Paywall.Config,
    Packages = packages,
    OnPurchase = packageId => StartPurchase(packageId),
    Client = revnix,
    PlacementKey = "main_paywall",
});

Learn more in Show paywalls and Placements.

A/B tests with a built-in holdout

Revnix A/B test results with a winner and credible intervals

  • Split a placement's traffic between offering and paywall variants; each player gets a sticky variant.
  • Add a holdout variant that shows no paywall at all, to measure what the paywall is really worth.
  • Target an audience with SetAttributes, for example "US players on 4.2+". See Audiences.
  • Ship the winner from the dashboard; the game needs no change.

Learn more in A/B tests.

Attribution and deep links

Revnix MRR by country, last 90 days

Device integrity

Pass deviceIntegrity: true to RevnixSdk.Configure (or set config.DeviceIntegrity = RevnixDeviceIntegrity.Provider) to attach Apple App Attest or Google Play Integrity evidence to install and attribution reports, so the dashboard's "Require device integrity" setting keeps your installs attributed. Off by default; the Editor and other platforms send none.

  • iOS needs iOS 14+. The package ships the plugin and links DeviceCheck.
  • Android needs com.google.android.play:integrity:1.6.0 in the Gradle build. External Dependency Manager for Unity picks it up from the package's Editor/RevnixDependencies.xml; without it, add implementation 'com.google.android.play:integrity:1.6.0' to Assets/Plugins/Android/mainTemplate.gradle. With minification on, add -keep class com.google.android.play.core.integrity.** { *; } and -keep class com.google.android.gms.tasks.** { *; } to your ProGuard file.

Real-time analytics for your Unity game

Revnix overview: active subscriptions, revenue and MRR over 90 days

  • Revenue, MRR, ARR, ARPU, LTV and ROAS, updated from the ledger as purchases arrive.
  • Cohorts, retention, funnels and predicted LTV. See Analytics.
  • Custom in-game events with Track("level_complete").
  • Saved reports, alerts and a REST API. See Reports and REST API.

Platform Support

Requirement Version
Unity 2021.3 and later
Unity IAP (optional) 5.0+ for verified iOS purchases, 4.0+ supported
Purchases iOS (App Store) and Android (Google Play)
Entitlements, placements, paywalls Every platform Unity builds for, including the Editor

Call the SDK from the main thread. Awaited calls resume on Unity's main thread.

Documentation

Revnix also ships SDKs for React Native, iOS, Android, Flutter and Capacitor.

Migrating from another SDK

Moving from Adapty or RevenueCat? Revnix imports your customers and purchase history.

Support

License

Revnix SDK is available under the MIT license. See LICENSE for details.

Releases

Packages

Contributors

Languages