Learn how to import Adapty Unity SDK in your app, configure it, and set up logging


The Adapty Unity Plugin on iOS is initialized automatically. To make it work properly, you need to manually create an Adapty-Info.plist file and add it to the /Assets folder of your Unity project (it will be automatically copied to the Xcode project during the build phase).
This is how this file should look like:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">

For iOS, you can optionally set the flag AdaptyObserverMode to true, if you want Adapty to run in Observer mode. Usually, it means, that you handle purchases and subscription status yourself and use Adapty for sending subscription events and analytics.



The Adapty Unity Plugin on Android is initialized automatically. To make it work properly, you need to add <meta-data section with "AdaptyPublicSdkKey" as a direct child of the <application section to your project's AndroidManifest.xml file (if you don't have one, it can be easily created in Project Settings -> Player -> Settings for Android -> Publishing settings -> Custom Main Manifest checkbox). Basically it will look like this:

<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
    <application ...>



First of all you need to create a script which will be responsible for listening of Adapty events. Let's call it AdaptyListener and place on any object of your scene. We recommed to call DontDestroyOnLoad method for this object to make it live forever.



Adapty uses AdaptySDK namespace. You may add at the top of your script files that would use Adapty SDK:

using AdaptySDK;

Next you need to subscribe for Adapty events:

using UnityEngine;
using AdaptySDK;

public class AdaptyListener : MonoBehaviour, AdaptyEventListener {
    void Start() {

    public void OnReceiveUpdatedPurchaserInfo(Adapty.PurchaserInfo purchaserInfo) {

    public void OnReceivePromo(Adapty.Promo promo) {

    public void OnDeferredPurchasesProduct(Adapty.Product product) {

    public void OnReceivePaywallsForConfig(Adapty.Paywall[] paywalls) {


Adapty logs errors and other important information to help you understand what is going on. There are three levels available:

  1. None (default): won't log anything
  2. Errors: only errors will be logged
  3. Verbose: method invocations, API requests/responses, and errors will be logged
  4. All: all from Verbose + analytics requests/responses

You can call SetLogLevel() method in your app before configuring Adapty.