com.unity.purchasing 5.0.0-pre.8
Source docsNotes: processedReleased July 25, 2025
Unity Compatibility
Minimum Unity: 2021.3
Package Dependencies
- com.unity.modules.androidjni (1.0.0)
- com.unity.modules.jsonserialize (1.0.0)
- com.unity.modules.unitywebrequest (1.0.0)
- com.unity.services.core (1.12.5)
- com.unity.ugui (1.0.0)
✨ Features
- Added `UnityIAPServies.StoreController` as a wrapper around the other services obtained through UnityIAPServices.
- - Added `StoreController.PurchaseProduct(string productId)` to initiate a purchase using only the productId.
- Added messages to `[Obsolete]` attributes on deprecated APIs, test methods, and internal classes.
- Samples - Added Minimal Coded IAP 5.0.0 Sample to demonstrate a very basic implementation of Coded IAP.
- Added documentation note in `UpgradeV5.md` clarifying the singleton behavior of `ConfigurationBuilder.Instance` and the use of its constructor as a workaround for scenarios requiring multiple initializations.
- Added backwards compatibility support for `IAPListener` and `CodelessIAPButton` callbacks. When updating from an older IAP version, your scripts will continue to work without modification.
- Apple - Added `IAppleStoreExtendedPurchaseService.SetRefreshAppReceipt` to refresh the receipt when a purchase succeeds (true by default). This is useful if are using a backwards compatible implementation or if you use `IOrderInfo.PurchasedProductInfo.subscriptionInfo`.
- Added `IOrderInfo.Google` to provide access to information specific to orders coming from the Google Play Store.
- Added `Orders.DeferredOrders` to provide access to deferred orders fetched from the store.
- Added back `useFakeStoreUIMode` and `useFakeStoreAlways` variables to `StandardPurchasingModule` for backwards compatibility.
- - Important: neither setting is respected by the FakeStore. Functionality has not been reimplemented.
- Added back `Instance(AppStore androidStore)` call to `StandardPurchasingModule` for backwards compatibility. Calling `Instance(AppStore androidStore)` will return the same results as `Instance()` regardless of the provided AppStore.
📈 Improvements
- IAP Catalog - Renamed `Automatically initialize UnityPurchasing (recommended)` to `Automatically initialize UnityIAPServices (recommended)`.
- - Brought back `Apple Configuration`, `Google Configuration` and `Catalog Export` in IAP Catalog.
- - Updated translation locales for Google Play Store and Apple App Store
- Renamed APIs introduced since 5.0.0-pre.1 to improve consistency:
- - `IStoreService.ConnectAsync` to `IStoreService.Connect`
- - `IPurchaseService.ConfirmOrder` to `IPurchaseService.ConfirmPurchase`
- - `IPurchaseService.IsProductEntitled` to `IPurchaseService.CheckEntitlement`
- - `Entitlement.ProductChecked` to `Entitlement.Product`
- - `Entitlement.EntitlementOrder` to `Entitlement.Order`
- - `ConfirmOrderException` to `ConfirmPurchaseException`
- - `INativeStore.RetrieveProducts` to `INativeStore.FetchProducts`
- Callbacks introduced since 5.0.0-pre.1 were changed to events:
- - `IProductService.AddProductsUpdatedAction` and `IProductService.RemoveProductsUpdatedAction` were replaced with `IProductService.OnProductsUpdated`
- - `IProductService.AddProductsFetchFailedAction` and `IProductService.RemoveProductsFetchFailedAction` were replaced with `IProductService.OnProductsFetchFailed`
- - `IPurchaseService.AddPendingOrderUpdatedAction` and `IPurchaseService.RemovePendingOrderUpdatedAction` were replaced with `IPurchaseService.OnPurchasePending`
- - `IPurchaseService.AddConfirmedOrderUpdatedAction` and `IPurchaseService.RemoveConfirmedOrderUpdatedAction` were replaced with `IPurchaseService.OnPurchaseConfirmed`
- - `IPurchaseService.AddPurchaseFailedAction` and `IPurchaseService.RemovePurchaseFailedAction` were replaced with `IPurchaseService.OnPurchaseFailed`
- - `IPurchaseService.AddPurchaseDeferredAction` and `IPurchaseService.RemovePurchaseDeferredAction` were replaced with `IPurchaseService.OnPurchaseDeferred`
- - `IPurchaseService.AddFetchedPurchasesAction` and `IPurchaseService.RemoveFetchedPurchasesAction` were replaced with `IPurchaseService.OnPurchasesFetched`
- - `IPurchaseService.AddFetchPurchasesFailedAction` and `IPurchaseService.RemoveFetchPurchasesFailedAction` were replaced with `IPurchaseService.OnPurchasesFetchFailed`
- - `IPurchaseService.AddCheckEntitlementAction` and \`IPurchaseService.RemoveCheckEntitlementActio
