Changelog
Unity SDK release history
[4.12.0] - 2026-10-27
Added
- An interstitial, rewarded or app open ad that expires before it is shown now reloads automatically and stays ready until the replacement arrives. Unity has no callback for the replacement yet.
- iOS builds now declare Simula’s attribution identifier, so Simula attribution works without you adding it by hand.
Fixed
- (iOS) Fixed a crash when the player closes the app from the app switcher while a fullscreen ad is showing. Reported on plugin 4.10.0.
- (iOS) Banners and MRECs no longer refresh while the app is in the background. A refresh that comes due resumes when the app returns.
- (Android) Fixed a crash at app launch caused by the SDK’s startup warm-up.
- (Android) Fixed a crash when an ad is destroyed from a background thread.
Integration Notes
- (iOS) Callbacks delivered on the native thread now wait while the app is inactive and arrive once it becomes active again. That is fullscreen
OnAdRevenuePaidby default, and every callback whenInvokeEventsOnUnityMainThreadis false. - (Android)
IsInterstitialReady,IsRewardedReadyandIsAppOpenReadynow stay true from load until the ad is shown or destroyed, and no longer ask the ad network. An ad the network dropped fails at show withOnAdShowFailed; load a new one. - A temporary network failure during initialization no longer reports failure. The SDK keeps retrying and reports success once it connects. Initialization now fails only for errors that do not resolve on their own, such as an invalid app key.
- (iOS) A load made before
Initializewas ever called now fails at once. - (iOS) CloudXCore’s privacy manifest now declares the device identifier as used for tracking. Review your App Store privacy label.
- (iOS) An auction with no bid now reports error code 302 instead of 105. Code 105 no longer means no fill; update any branching on it.
- (Android) An interstitial or rewarded
Show()made just afterInitialize, before the ad is set up, now reportsOnAdShowFailedinstead of doing nothing. - (Android) A
StopBannerAutoRefresh()orStopMrecAutoRefresh()call made before initialization completes is now kept, so the ad no longer starts refreshing once initialization succeeds. - (iOS) The MobileFuse, Meta and Digital Turbine adapters require iOS 15.0 or newer. Enabling any of them raises your project’s minimum iOS version.
- (Android) Returning users initialize from their saved configuration on the first launch after an SDK upgrade, including offline, and preloaded ads survive your app going to the background.
SDK Updates
- Updated Android SDK from 4.10.0 to 4.12.0 — see Android SDK changelog for details
- Updated iOS SDK from 3.11.0 to 3.12.0 — see iOS SDK changelog for details
- Updated every bundled adapter pin in
CloudXDependencies.xmlto the version tested with this release. Each adapter page lists its new version.
[4.10.0] - 2026-10-15
Added
- Rewarded ads can pay out as soon as the ad network grants the reward, instead of when the ad closes. CloudX enables this per account, and it needs the updated rewarded adapters this release ships.
Fixed
- (iOS) A vertical banner in landscape no longer sits inset from a screen edge with no notch or Dynamic Island. It is now flush with that edge and centered on the screen, inset only past a cutout on its own edge. A 180 degree rotation moves it correctly.
Integration Notes
CloudXAdsCallbacks.Rewarded.OnAdRewardedstill arrives when the Unity player resumes, so under the default callback threading it lands when the ad closes. See Callback threading.- (iOS) Rewarded ads now pay the reward amount and currency configured on the ad unit in CloudX, not the value the ad network reports.
- (iOS) A banner with no configured refresh interval now refreshes every 30 seconds.
- (iOS) Part of initialization now runs at app launch, including one request to the CloudX init host that carries no identifiers. Opt out with
CloudXStartupWarmDisabledin Info.plist. - (Android) The Magnite adapter now depends on kotlin-stdlib 2.4.0. Apps that enable it must compile with Kotlin 2.3 or newer.
SDK Updates
- Updated Android SDK from 4.9.0 to 4.10.0 — see Android SDK changelog for details
- Updated iOS SDK from 3.10.0 to 3.11.0 — see iOS SDK changelog for details
- Updated every bundled adapter pin in
CloudXDependencies.xmlto the version tested with this release. Each adapter page lists its new version.
[4.9.0] - 2026-10-07
Added
CloudXSdk.ShowMediationDebugger()opens the Mediation Debugger, an in-app screen listing every installed adapter with its version and status, your ad units and the SDK configuration. It returnsfalsebefore initialization finishes. Intended for development and QA builds.
Integration Notes
- A banner or MREC that fails after it loaded now reports
OnAdLoadFailed. While auto-refresh is stopped, nothing replaces it on its own; callLoad()to request a new ad.
SDK Updates
- Updated Android SDK from 4.8.2 to 4.9.0 — see Android SDK changelog for details
- Updated the Android InMobi adapter from 11.4.1.0 to 11.5.0.0.
- Updated the Android Moloco adapter from 4.12.0.0 to 4.13.0.0.
- Updated the Android Unity Ads adapter from 4.20.1.0 to 4.21.0.0.
- Updated the Android Vungle adapter from 7.7.8.0 to 7.7.9.0.
- Updated the iOS Mintegral adapter from 8.1.6.0 to 8.1.6.1.
- Updated the iOS Moloco adapter from 4.10.0.0 to 4.11.0.0.
[4.8.2] - 2026-09-30
SDK Updates
- Updated Android SDK from 4.8.0 to 4.8.2 — see Android SDK changelog for details
- Updated iOS SDK from 3.9.1 to 3.10.0 — see iOS SDK changelog for details
- Updated the Android Google Waterfall adapter from 25.4.0.0 to 25.5.0.0. It requires Android API 24 or later.
- Updated the Android AdMob adapter from 1.4.0.0 to 1.5.0.0.
- Updated the Android TaurusX adapter from 1.18.3.0 to 1.19.1.0.
- Added the iOS BIGO Ads adapter 6.1.0.0 to the optional adapter lines in
CloudXDependencies.xml.
There are no changes to the Unity C# API in this release. The Unity SDK does not expose a Native ad API.
[4.8.1] - 2026-09-23
Added
CloudXAd.MediatorNameandCloudXAd.MediatorAdUnitIdreport which mediator and mediator ad unit served an ad. CloudX-won ads reportcloudxand their CloudX ad unit id. Supplied on Android;nullon iOS.CloudXSdkConfiguration.AdUnitConfigurationsmaps each ad unit ID to itsIsOrchestratorEnabledstate once initialization completes. A missing entry means unavailable, not disabled. Supplied on Android; empty on iOS.- The Unity plugin now ships a privacy manifest for iOS builds, so apps that include CloudX declare its Required Reason API use to App Store review.
SDK Updates
- Updated the Android AdMob adapter from 1.3.0.4 to 1.4.0.0.
- Android SDK remains at 4.8.0.
[4.8.0] - 2026-09-22
Fixed
- Vertical banners on Android now stay inside the app window’s visible region, so they no longer disappear on devices that crop the window to that region.
SDK Updates
- Updated Android SDK from 4.7.0 to 4.8.0 — see Android SDK changelog for details
- Updated the Android BIGO Ads adapter from 6.0.1.0 to 6.1.0.0.
- Updated the Android InMobi adapter from 11.4.0.1 to 11.4.1.0.
- Updated the Android Mintegral adapter from 17.1.71.1 to 17.1.81.0.
- Updated the Android Pangle adapter from 8.3.0.3.0 to 8.3.0.4.0.
- Updated the Android Verve adapter from 3.9.0.1 to 3.9.2.0.
- Updated the Android Vungle adapter from 7.7.7.0 to 7.7.8.0.
There are no changes to the Unity C# API in this release. The Unity SDK does not expose a Native ad API.
[4.7.2] - 2026-09-16
SDK Updates
- Updated the Android and iOS Magnite adapter pins from 1.0.0.1 to 1.0.0.2.
- Updated the Android Unity Ads adapter from 4.19.0.1 to 4.20.1.0.
- Updated the iOS Unity Ads adapter from 4.19.0.0 to 4.20.1.0.
- Updated the iOS Google Waterfall adapter from 13.7.0.0 to 13.9.0.0.
- Android SDK remains at 4.7.0. iOS CloudXCore remains at 3.9.1.
There are no changes to the Unity C# API in this release. The Unity SDK does not expose a Native ad API.
[4.7.1] - 2026-09-15
Fixed
- Rewarded and other fullscreen callbacks on iOS now use the placement and custom data from each accepted show. Consecutive rewarded ads no longer use missing or stale custom data.
SDK Updates
- Updated iOS SDK from 3.9.0 to 3.9.1 — see iOS SDK changelog for details.
- Android SDK remains at 4.7.0.
- Updated Android adapters: Moloco 4.11.0.0 to 4.12.0.0, Google Waterfall 25.2.0.5 to 25.4.0.0, and Pangle 8.2.0.4.0 to 8.3.0.3.0.
- Updated iOS adapters: Moloco 4.8.0.0 to 4.10.0.0, Google Waterfall 13.6.0.4 to 13.7.0.0, Digital Turbine 8.4.8.0 to 8.4.10.0, and Pangle 8.2.0.7.0 to 8.3.0.6.0.
[4.7.0] - 2026-09-11
SDK Updates
- Updated Android SDK from 4.6.0 to 4.7.0 — see Android SDK changelog for details
- Updated iOS SDK from 3.8.0 to 3.9.0 — see iOS SDK changelog for details
- Added the BIGO Ads adapter for Android. Uncomment
io.cloudx:adapter-bigo:6.0.1.0inAssets/CloudXSdk/Editor/CloudXDependencies.xmlto enable it. See BIGO Ads. - Updated the Android MobileFuse adapter from 1.11.0.1 to 1.12.0.0.
- Updated the iOS Mintegral adapter from 8.1.5.0 to 8.1.6.0.
- Updated the iOS Vungle adapter from 7.7.4.0 to 7.7.6.0.
[4.6.1] - 2026-09-01
What’s New
- Added
CloudXSdk.InvokeEventsOnUnityMainThreadto control which thread CloudX callbacks arrive on. Set it totruefor the Unity main thread,falsefor the native callback thread, or leave it unset for the default. See Callback Threading.
Fixes
- Ad callbacks are no longer lost. A handler that throws is logged with the event name and the failing handler instead of silently stopping the remaining handlers.
- Showing an interstitial, rewarded, or app open ad that is not ready now reports
OnAdShowFailedinstead of doing nothing. - A banner or MREC refresh that fails after a successful first load now reaches
OnAdLoadFailed. ReportRevenueDatanow logs why a payload was rejected, so an invalid revenue value, ad format, or platform name can be corrected.
SDK Updates
- Updated the iOS TaurusX adapter from 1.18.1.0 to 1.18.2.0.
[4.6.0] - 2026-08-26
Fixes
- iOS banners and MRECs now render as soon as they are shown, instead of staying blank until the next refresh.
SDK Updates
- Updated Android SDK from 4.5.1 to 4.6.0 — see Android SDK changelog for details
- Updated iOS SDK from 3.7.0 to 3.8.0 — see iOS SDK changelog for details
- Updated Android Google Waterfall, AdMob, and Magnite adapter pins.
- Updated iOS Google Waterfall, InMobi, and MobileFuse adapter pins.
[4.5.1] - 2026-08-18
What’s New
- Added support for Vertical Banner, so landscape apps with limited vertical space can also include banners. Use
CloudXAdViewConfiguration.AdViewVerticalPosition.Leftand.Rightfor left- and right-edge banner slots.
Integration Notes
- Apps using iOS Meta adapter
6.22.0.0must target iOS 15 or newer. Apps supporting iOS 13 or 14 should stay on6.21.1.0.
SDK Updates
- Updated Android SDK from 4.5.0 to 4.5.1 — see Android SDK changelog for details
- Updated Android Mintegral, Google Waterfall, Digital Turbine, and AdMob adapter pins.
- Updated iOS Meta adapter from 6.21.1.0 to 6.22.0.0.
[4.5.0] - 2026-08-11
What’s New
- Added AdMob and Google Ad Manager bids to Trusted Arbiter with
CloudXArbiterBid.AdMob(...)andCloudXArbiterBid.Gam(...). CloudX can price them from reported revenue. - Added
CloudXRevenuePlatform.Gamso apps can forward Google Ad Manager paid events throughCloudXSdk.ReportRevenueData(...). - Added Google Ad Manager demand support to the Google Waterfall Unity adapter; CloudX configuration selects AdMob or GAM per placement.
- Added TaurusX adapter support for Android and iOS.
- Added optional Adjust and AppsFlyer ad-revenue connectors so Unity apps can forward CloudX-won impression revenue to their MMP without Unity C# glue code.
Integration Notes
- Android projects using Meta adapter
6.22.0.0must compile with Android API 36 because Meta Audience Network6.22.0depends onandroidx.browser:1.9.0.
SDK Updates
- Updated Android SDK from 4.4.0 to 4.5.0 — see Android SDK changelog for details
- Updated iOS SDK from 3.6.0 to 3.7.0 — see iOS SDK changelog for details
- Updated Google Waterfall adapter pins to Android 25.2.0.2 and iOS 13.6.0.2.
- Updated Android Meta adapter to 6.22.0.0 and optional Android AdMob adapter to 1.3.0.1.
[4.4.1] - 2026-08-03
What’s New
- Added custom trusted-arbiter bids with
CloudXArbiterBid.Customfor mediation platforms without a dedicated bid type. - Added
CloudXArbiterPlatform.CustomandCloudXArbiterResult.PlatformNameso custom arbiter winners can identify the originating mediator.
Migration Notes
CloudXArbiterResultnow includesPlatformName; code that directly constructs or deconstructs this record must include the new value.
Changed
- Regenerated CloudX SDK asset GUIDs to avoid import collisions in Unity projects; assembly definition GUIDs are unchanged.
- Updated the Unity demo arbiter verification button to run CloudX, LevelPlay, PubMatic, and custom bid scenarios.
SDK Updates
- Updated the iOS Pangle adapter from 7.9.1.3.0 to 8.2.0.7.0.
[4.4.0] - 2026-07-29
What’s New
- Added App Open ads through
CloudXSdk.LoadAppOpen,CloudXSdk.ShowAppOpen,CloudXSdk.IsAppOpenReady,CloudXSdk.DestroyAppOpen, andCloudXAdsCallbacks.AppOpen. - Added publisher revenue reporting with
CloudXSdk.ReportRevenueData(CloudXRevenueData data), including AdMob, InMobi, TopOn, and custom platform names.
Fixed
- Fixed Unity main-thread callback dispatch so native callbacks that enqueue Unity work no longer deadlock callback delivery.
SDK Updates
- Updated Android SDK from 4.1.7 to 4.4.0 — see Android SDK changelog for details
- Updated iOS CloudXCore from 3.4.6 to 3.6.0
- Updated iOS Google Waterfall adapter from 3.4.6 to 13.6.0.1
- Updated Unity demo Android adapter pins: Vungle 7.7.7.0, InMobi 11.4.0.1, Mintegral 17.1.71.0, Moloco 4.11.0.0, Verve 3.9.0.1, Google Waterfall 25.2.0.1, Digital Turbine 8.4.7.0, and Pangle 8.2.0.4.0.
[4.1.7] - 2026-07-02
What’s New
- Added APIs for per-request bid floor overrides so publishers can send request-scoped floor controls through the SDK bid pipeline
SDK Updates
- Updated Android SDK from 4.1.5 to 4.1.7 — see Android SDK changelog for details
- Updated iOS SDK from 3.4.5 to 3.4.6 — see iOS SDK changelog for details
[4.1.5] - 2026-06-20
SDK Updates
- Updated Android SDK from 4.1.3 to 4.1.5 — see Android SDK changelog for details
- Updated iOS SDK from 3.4.2 to 3.4.5 — see iOS SDK changelog for details
- Added Pangle adapter support for Android and iOS
- Added MobileFuse adapter support for Android
[4.1.3] - 2026-06-01
SDK Updates
- Updated Android SDK from 4.1.1 to 4.1.3 — see Android SDK changelog for details
- Updated iOS SDK from 3.4.1 to 3.4.2 — see iOS SDK changelog for details
- Added Google Waterfall and Digital Turbine adapter support for Android and iOS
[4.1.0] - 2026-05-27
What’s New
- Added
CloudXSdk.Arbiter(bids, onCompleted)for running a trusted-arbiter auction from Unity - Added
SetBannerExtraParameter(adUnitId, key, value),SetMRecExtraParameter(adUnitId, key, value),SetInterstitialExtraParameter(adUnitId, key, value), andSetRewardedExtraParameter(adUnitId, key, value)to pass network-specific parameters to each ad format
SDK Updates
- Updated Android SDK from 4.0.0 to 4.1.1 — see Android SDK changelog for details
- Updated iOS SDK from 3.2.0 to 3.4.1 — see iOS SDK changelog for details
- Added Moloco and Verve adapter support for Android and iOS
[4.0.0] - 2026-04-28
What’s New
- Added Unity Package Manager (UPM) consumer support so the SDK can be referenced from internal UPM packages. Runtime and editor scripts now ship with assembly definitions (
CloudX.SdkandCloudX.Sdk.Editor). - Removed the runtime dependency on
Newtonsoft.Json. The SDK no longer requirescom.unity.nuget.newtonsoft-jsonto be present in your project.
SDK Updates
- Updated Android SDK from 3.2.0 to 4.0.0 — see Android SDK changelog for details
[3.2.0] - 2026-04-24
What’s New
- Added
DestroyInterstitial(adUnitId)andDestroyRewarded(adUnitId)to the Unity API so fullscreen ads can be explicitly destroyed and cleaned up
SDK Updates
- Updated Android SDK from 3.1.0 to 3.2.0 — see Android SDK changelog for details
- Updated iOS SDK from 3.1.0 to 3.2.0 — see iOS SDK changelog for details
- Added Magnite adapter support for Android and iOS
[3.1.0] - 2026-04-17
What’s New
- Revenue-paid callbacks are now delivered immediately and may run off the Unity main thread on Android and iOS
Integration Notes
- Do not touch Unity scene or UI APIs directly inside
OnAdRevenuePaid. Dispatch back to the main thread first if needed.
SDK Updates
- Updated Android SDK from 3.0.0 to 3.1.0 — see Android SDK changelog for details
- Updated iOS SDK from 2.2.8 to 3.1.0 — see iOS SDK changelog for details
[3.0.0] - 2026-04-06
SDK Updates
- Updated Android SDK from 2.2.7 to 3.0.0 — see Android SDK changelog for details
- Updated iOS SDK from 2.2.7 to 2.2.8 — see iOS SDK changelog for details
[2.2.7] - 2026-04-02
What’s New
- Added first-party metrics telemetry coverage across Android SDK call sites through the updated Android SDK
- Fixed iOS banner display after deferred initialization and improved Vungle adapter runtime reliability through the updated iOS SDK
Integration Notes
- The Unity integration flow and banner/MREC placement/custom-data ordering guidance introduced in
2.2.6remain unchanged in this release
SDK Updates
- Updated Android SDK from 2.2.6 to 2.2.7 — see Android SDK changelog for details
- Updated iOS SDK from 2.2.6 to 2.2.7 — see iOS SDK changelog for details
[2.2.6] - 2026-04-01
What’s New
- Added
isAdReadysupport across fullscreen adapters through the updated Android and iOS SDKs - Added Unity Ads privacy consent forwarding through the updated iOS SDK
Integration Notes
- For Unity banner and MREC ads, call
SetBannerPlacement(...)/SetBannerCustomData(...)andSetMrecPlacement(...)/SetMrecCustomData(...)beforeCreateBanner(...)orCreateMrec(...)if you want those values applied to the first ad request
SDK Updates
- Updated Android SDK from 2.2.4 to 2.2.6 — see Android SDK changelog for details
- Updated iOS SDK from 2.2.4 to 2.2.6 — see iOS SDK changelog for details
[2.2.4] - 2026-03-27
What’s New
- Added
SetHasUserConsent(bool?)andSetDoNotSell(bool?)for manual privacy overrides before initialization - Added automatic
NSUserTrackingUsageDescriptioninjection during the iOS post-process step when the app has not defined one yet
Fixes
- Fixed Android banner view initialization so newly created banner views start hidden until you show them
- Fixed iOS interstitial and rewarded show-failure callbacks so
OnAdShowFailednow includes both the failedCloudXAdand the correspondingCloudXError, matching the Unity callback contract - Updated the Unity demo app to initialize banner and MREC views once and retry fullscreen ads after both load failures and show failures
SDK Updates
- Updated Android SDK from 2.2.3 to 2.2.4 — see Android SDK changelog for details
- Updated iOS SDK from 2.2.3 to 2.2.4 — see iOS SDK changelog for details
[2.2.3] - 2026-03-23
SDK Updates
- Updated Android SDK from 2.2.2 to 2.2.3 — see Android SDK changelog for details
- Updated iOS SDK from 2.2.2 to 2.2.3 — see iOS SDK changelog for details
- Added Unity Ads adapter support for Android and iOS
[2.2.2] - 2026-03-17
SDK Updates
- Updated Android SDK from 2.2.1 to 2.2.2 — see Android SDK changelog for details
- Updated iOS SDK from 2.0.0 to 2.2.2 — see iOS SDK changelog for details
- Lowered iOS minimum deployment target from 15.0 to 13.0
- Added Mintegral adapter support (Android + iOS)
[2.2.1] - 2026-03-11
SDK Updates
- Updated Android SDK from 2.2.0 to 2.2.1 — see Android SDK changelog for details
- Added Mintegral adapter and Maven repository for Android
[2.2.0] - 2026-03-10
SDK Updates
- Updated Android SDK from 2.0.1 to 2.2.0 — see Android SDK changelog for details
[2.0.1] - 2026-03-04
This patch release adds full compatibility with Unity Engine 2022.3.
Compatibility
- Added support for Unity Engine 2022.3 LTS
SDK Updates
- Updated Android SDK from 2.0.0 to 2.0.1 — see Android SDK changelog for details
[2.0.0] - 2026-02-05
Breaking Changes
- Banner and MREC ads no longer auto-load after creation. You must now call
LoadBanner()orLoadMrec()explicitly afterCreateBanner()orCreateMrec() CloudXAdproperty renames:PlacementNameis nowAdUnitIdBidderNameis nowNetworkName
What’s New
- Added placement and custom data support for all ad formats:
SetBannerPlacement(adUnitId, placement)andSetBannerCustomData(adUnitId, customData)SetMRecPlacement(adUnitId, placement)andSetMRecCustomData(adUnitId, customData)ShowInterstitial(adUnitId, placement?, customData?)now accepts optional placement and customData parametersShowRewarded(adUnitId, placement?, customData?)now accepts optional placement and customData parameters
- New
CloudXAdproperties:AdFormat,Placement,NetworkPlacement
SDK Updates
- Updated Android SDK from 0.12.1 to 2.0.0
- Updated Android adapters from 0.12.1 to 2.0.0
- Updated iOS CloudXCore from 1.3.0 to 2.0.0
- Updated iOS CloudXRenderer from 1.3.0 to 2.0.0
- Updated iOS adapters from 1.3.0 to 2.0.0
[0.12.1] - 2026-01-15
What’s New
- Added support for iOS platform
Performance Improvements
- Android: BidToken is now generated on a background thread for improved performance
SDK Updates
- Updated Android SDK from 0.12.0 to 0.12.1
Improvements
- Renamed internal
UnityMainThreadDispatcherclass to avoid namespace collisions with third-party packages
[0.12.0] - 2025-12-15
Initial release of CloudX Unity SDK