Ad Network Guide
Playable Ads for Unity Ads
Unity Ads is the largest ad network in mobile gaming. It reaches over 2.5 billion players across more than 1.5 million games built with the Unity engine. Its audience skews heavily toward gamers aged 18–34 who spend money inside games, which makes it one of the highest-intent places to run an app install campaign. Unity Ads runs inside games, mostly as rewarded and interstitial placements between sessions, so the people who see an ad are already in the mood to try a new game.
Playable ads consistently outperform static and video creatives on Unity Ads because they work like the games they appear in. A player mid-session in a match-3 game who encounters a playable that lets them tap and drag for ten seconds is far more likely to convert than one shown a 30-second video. The MRAID integration keeps the store redirect inside Unity's container, where the click is counted. The Unity Ads SDK supports playables fully and prefers them in rewarded video slots when the eCPM is high enough.
Exporting for Unity Ads from the Playable Ads Maker produces a single self-contained HTML file with every image, font, and animation frame base64-encoded inside, with no external requests and no CDN dependencies. The exporter wires MRAID for you. It uses MRAID 3.0, which Unity's playable specification calls for, falls back to 2.0 automatically on any placement that does not provide it, attaches your CTA button to mraid.open(), and sets the viewport meta tag to Unity's expected values. It also follows Unity's playable rules for you: the ad starts only once it is on screen and pauses when it is hidden, the player's first tap never opens the store, and the playable fires no attribution events of its own (Unity measures those itself). You download one file, log in to the Unity dashboard, and upload it on the advertiser side as a playable creative pack.
Export specifications
| Specification | Value |
|---|---|
| Accepted format | Single .html |
| Playable Ads Maker exports | Single HTML file |
| Published size limit | 5 MB |
| Playable Ads Maker builds to | 5 MB |
| MRAID | MRAID 3.0 |
| Store-exit call | mraid.open() |
| External requests | None allowed at runtime |
| Supported orientations | Portrait and landscape |
| Review time estimate | 1–2 business days |
Size, format, MRAID and store-exit rows are taken from Unity Ads’s own documentation; “Playable Ads Maker builds to” is our exporter’s own target. Every network side by side: playable ad size limits by network.
If you already have a build, drop the HTML file into the free Playable Ad Spec Checker and it will grade it against these Unity Ads requirements (size, packaging, MRAID and the store-exit call) in your browser, with nothing uploaded.
Check my Unity Ads playable adHow to upload to Unity Ads
- Build your playable end card in the Playable Ads Maker editor, using the canvas size preset that matches your target orientation: 9:16 for portrait-first or 16:9 for landscape-first game genres.
- Open the Export modal and select the Unity Ads preset. The exporter wires MRAID, inlines all assets, and attaches mraid.open() to your CTA button automatically.
- Download the exported HTML file and check its size in your file manager. It must be under 5 MB. If it is over, compress images further or reduce animation frame counts.
- Log in to the Unity dashboard at dashboard.unity3d.com and open the advertiser side (Grow / User Acquisition) then go to Creative Packs.
- Click Create and choose Playable from the drop-down. Name the creative pack and pick a playable type: Responsive, or Portrait and Landscape.
- Upload the HTML file, or add it by URL. Unity validates the asset on upload and flags MRAID and size issues immediately. Fix any warnings before proceeding.
- Assign the finished creative pack to an active User Acquisition campaign. Every creative goes through Unity's human moderation queue before it serves.
File size tip
Unity Ads publishes a limit of 5 MB; Playable Ads Maker builds Unity Ads exports to 5 MB. If your export is too large, reduce image resolution, switch to WebP at 75–80% quality, or trim animation frame counts in the Playable Ads Maker Export modal. The live size estimate updates as you adjust each setting.
Tips for Unity Ads playable ads
Match your mechanic to the game genre you are targeting
Unity Ads allows you to target campaigns by game genre, so a playable ad showing a colour-sorting mechanic will reach players already proven to enjoy that loop. Design your 15-second interaction to mirror the core loop of your actual game: Unity's review team also checks for gameplay authenticity. The closer the ad is to the real app, the better your post-install retention will be, which matters for ROAS campaigns.
Use rewarded placement slots to guarantee full completion
When your ad unit is shown in a rewarded context, the player has already opted in to watch the full ad in exchange for an in-game reward. They cannot skip. Configure your playable to have a clearly defined end state at the 15–20 second mark so the MRAID close event fires predictably. An abrupt or looping end state can cause Unity's SDK to hold the close button, frustrating players.
Register your app on the Unity dashboard before uploading
Unity Ads requires your app to be registered as a project in the dashboard before you can create an ad unit. Make sure your app's bundle ID, store URL, and platform (iOS/Android) are correctly configured. These values feed directly into the store redirect when mraid.open() is called. Mismatched bundle IDs are the most common cause of rejection on the Unity platform.
Test in the Unity Ads SDK demo app before going live
Unity provides a free demo testing app on both the App Store and Google Play that can load any playable creative from a URL or local file. Before submitting, use this to see exactly how your playable renders inside a real Unity SDK webview, including how the MRAID close button appears and where the safe zone boundaries fall. Some problems never show up in a desktop browser and only appear inside the real SDK.
Playable Ads Maker does the Unity Ads packaging (Single HTML file), wires the mraid.open() store exit and inlines every asset when you export.
Build your playable ad