Skip to main content

Unity SDK Changelog

2026-10-06 - 2.0.0

Behaviour

  • Made every API call work in the Editor, Standalone and WebGL player, where they previously failed; for development, not for production use (breaking)
  • Restricted the Editor, Standalone and WebGL player to LaunchMode.DefaultBrowser; Default and InternalBrowser report ApiError.Unsupported there (breaking)
  • Changed SetPlayerId to report completion through onSuccess; make the next call from there (breaking)
  • Changed a second Initialize to report ApiError.AlreadyInitialized and never invoke onSuccess, where it previously logged a warning and returned (breaking)
  • Changed AghanimConfig, CheckoutParams and CheckoutItem constructors to stop throwing on invalid input; the failure is reported through onError at the call that uses them (breaking)
  • Changed CheckoutParams to copy items and metadata on construction, so later mutation of the caller's collection no longer affects checkout (breaking)
  • Changed an unrecognised enum value from the backend to map to Unknown instead of failing the whole response (breaking)
  • Removed the 50-SKU limit on GetItems, which now splits large requests into parallel batches, returns items in the order requested and drops duplicate SKUs

API

  • Changed every onError callback to receive ApiError instead of string (breaking)
  • Reordered the CheckoutParams constructor; positional callers silently re-bind their arguments (breaking)
  • Changed CheckoutParams.Items to IReadOnlyList and Metadata to IReadOnlyDictionary (breaking)
  • Changed OrderRead.Locale from string to Locale? (breaking)
  • Renamed ResetPlayerId to ClearPlayerId (breaking)
  • Replaced the Action<CheckoutLaunchResult> callback on StartCheckout with separate onSuccess and onError (breaking)
  • Added onSuccess and onError callbacks to Initialize (breaking)
  • Removed CheckoutParams.PriceTemplateId (breaking)
  • Removed CheckoutParams.CustomMessage (breaking)
  • Removed CheckoutItem.Quantity (breaking)
  • Removed CheckoutLaunchResult and CheckoutLaunchResultType (breaking)
  • Removed AghanimConfigSO; an existing Aghanim Settings asset becomes a missing script (breaking)
  • Removed the obsolete Initialize(AghanimLogLevel, IAghanimLogger) overload; set MinLogLevel and Logger on AghanimConfig instead (breaking)
  • Removed the Currency and Platform enums (breaking)
  • Removed the ApiError, ValidationError and HttpValidationError models, replaced by the ApiError hierarchy in AghanimSdk.Runtime.Api.Result (breaking)
  • Added Unknown to Locale and ItemType, which changes every member's numeric value; a persisted integer no longer means what it did (breaking)
  • Added the WebView launch mode
  • Added an optional CancellationToken to every API call
  • Added an async API based on UniTask, available when UniTask 2.5.10 or newer is installed
  • Made the launch-mode extension methods public

Dependencies

  • Raised com.unity.nuget.newtonsoft-json to 3.2.2
  • Raised com.google.external-dependency-manager to 1.2.187

2026-04-16 - 1.13.2

  • Stopped injecting a deep-link URL scheme into the built app; every launch mode except Native needs you to register your own, as the integration guide describes (breaking)
  • Stopped falling back to a generated back-to-game URL; set CheckoutParams.BackToGameUrl for every launch mode except Native (breaking)

Need help?
Contact our integration team at integration@aghanim.com