Skip to main content

INITIALIZATION

Initialization

After configuring, the Xsolla SDK for Unity needs to be initialized and connected to Xsolla services.

PREREQUISITE

Make sure Unity In-App Purchasing 4.15+ is installed.

See the official Unity IAP setup guide ↗ (https://docs.unity3d.com/Packages/[email protected]/manual/GettingStarted.html).

⚠️ Unity In-App Purchasing 5.x is NOT supported at this moment.

public class App : MonoBehaviour, IStoreListener
{
private IStoreController _storeController;

void Start()
{
// See the configuration step for more details on how to prepare a config.
var configuration = ...

var module = XsollaPurchasingModule.Builder.Create()
.SetConfiguration(configuration)
.Build();

var configurationBuilder = ConfigurationBuilder
.Instance(module)
.AddProduct("product1", ProductType.Consumable)
.AddProduct("product2", ProductType.Consumable)
.AddProduct("product3", ProductType.Consumable)
.AddProduct("product4", ProductType.Consumable);

UnityPurchasing.Initialize(this, configurationBuilder);
}

public void OnInitialized(IStoreController controller, IExtensionProvider extensions)
{
_storeController = controller;

// handle initialized
}

public void OnInitializeFailed(InitializationFailureReason error)
{
// handle initialization failed
}

public void OnInitializeFailed(InitializationFailureReason error, string message)
{
// handle initialization failed
}

public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs purchaseEvent)
{
// implement purchase flow

return PurchaseProcessingResult.Complete;
}

public void OnPurchaseFailed(Product product, PurchaseFailureReason failureReason)
{
// handle purchase failed
}

public void OnPurchaseFailed(Product product, PurchaseFailureDescription failureDescription)
{
// handle purchase failed
}
}

The SDK loads only Virtual Items from your Xsolla Catalog — Virtual Currency, Bundles, and other catalog types are not returned.