4.0.0-beta.1
Pre-release
⚠️ This is a beta pre-release of Adapty Unity SDK 4.0.0. Feedback welcome before we cut the stable tag.
🚀 Flow — the successor to Paywalls
The headline of 4.0.0 is Flow, which replaces the Paywall as the core unit of presentation and analytics. A flow is a fully native onboarding + paywall experience — it can contain multiple screens (onboardings, surveys, quizzes, single- or multi-step paywalls), rendered natively and driven by the new flow runtime. Existing paywalls keep working: Flow is backward compatible with paywalls built in the current Paywall Builder.
💥 Breaking changes
The migration guide covers everything; the highlights:
- Paywall entities renamed to Flow.
AdaptyPaywall→AdaptyFlow,GetPaywall→GetFlow,CreatePaywallView→CreateFlowView, with the corresponding models, events and view controllers. Event listener interfaces now carry theIprefix (IAdaptyEventListener,IAdaptyFlowsEventsListener,IAdaptyUISystemRequestsHandler,IAdaptyUIObserverModeResolver,IAdaptyOnboardingsEventsListener). - Legacy onboarding API deprecated in favor of Flow.
- Native SDK dependencies bumped to 4.x — iOS 4.0.2, Android 4.0.1 — and the cross-platform contract to 4.0.2.
✨ Added
- iOS Kids Mode for the App Store Kids Category / COPPA. The
ADAPTY_KIDS_MODEscripting define enables theKidsModetrait on the AdaptySDK-iOS Swift package (IDFA, AdSupport and AppTrackingTransparency are compiled out of the binary) and forcesapple_idfa_collection_disabledin the runtime configuration. Requires Xcode 26 or newer. Set the define in Player Settings — a build profile's defines only reach the Editor assemblies after Unity recompiles them, and the iOS build now fails rather than silently shipping a binary that claims Kids Mode while still linking IDFA. AdaptyUICreateFlowViewParameters.Locale— the localization to render the flow with. A flow is localized when its view is built, so this is the only place that selects it.AdaptyUIFlowView.Locale— the localization the view was actually built with.AdaptyUICreateFlowViewParameters.EnableSafeAreaPaddings(Android only).
🐛 Fixed
- Custom linear gradient assets are now serialized from every color and alpha key of the Unity
Gradient— gradients whose color/alpha keys differed in count or sat at different times used to throw or silently lose the alpha ramp. AdaptyProductIdentifiernow implements value equality, so identifiers built from a flow work as dictionary keys inAdaptyUICreateFlowViewParameters.SetProductPurchaseParameters.AdaptyFlow.VendorProductIds/ProductIdentifiersno longer return duplicates across paywall variations.- A permission request with no
IAdaptyUISystemRequestsHandlerset no longer leaves the flow silently stuck — it's logged, and errors from the answer/observer round trips are logged instead of dropped. ReportTransactionno longer reportsDecodingFailedfor transactions that were in fact reported successfully.- Calling the SDK in the Editor now returns a readable "not supported on this platform" error.
- The iOS build validator no longer stays silent when it cannot parse the deployment target.
📦 Installation
Install via Git URL through Unity Package Manager: https://github.com/adaptyteam/AdaptySDK-Unity.git?path=/Packages/com.adapty.unity-sdk#4.0.0-beta.1
Full setup: quickstart guide.
Full Changelog: 3.17.0...4.0.0-beta.1