Luna Playable

Unity Playworks (Luna) export → network-ready playable

⌘↵ build

Convert a Unity Playworks export into a playable ad

From a Unity build to a network-ready playable in a few minutes. Nothing to install, no SDK to wire up.

Build the playable in Unity

Build with Unity Playworks (formerly Luna) using your usual setup. The build writes its output into a LunaTemp folder inside the project.

Zip the Playworks export

The export you want is the one here:

LunaTemp/stage4/create-hub/

Zip that folder. Either zip its contents (so index.html and engine/ sit at the root of the archive) or zip the folder itself — both work, because a single top-level folder is unwrapped automatically.

Sign in

Accounts are invite-only. Contact us to get access and credits.

Upload the zip

Press Upload, or drag the .zip onto the drop zone. The builder reads it and reports how many runtime files it found and how much is strippable.

Pick the network

Choose the target. Packaging, size cap, click call and lifecycle events all change per network. The right output is preselected for you.

Set the store links

Fill in the Android and iOS store URLs. The end card's CTA opens these. Leave iOS blank if the game is not on the App Store.

Build it (one credit)

Press Build playable. A build that fails validation costs nothing, and each remaining credit is shown above the button with the date your next batch lapses. The report shows the size against the network's cap plus every check it ran.

Preview, then download

Press Play to run it in a device frame. The panel beside it shows whether the engine booted and whether the CTA fired. Then Download the artifact and submit it to the network.

What's inside a valid export

At the root, or in one wrapper folder: index.html and engine/scripts.js, plus the asset folders. Anything else is reported as "not a Playworks export" rather than guessed at.

Notes

Do I have to re-upload for every network?

No. Your upload stays on your account, so you can keep building other networks from it — even after the server has gone idle.

Which output should I pick?

HTML → zip for most networks (Google Ads, TikTok, Meta, Mintegral, Tencent, Yandex…). Single HTML for the ones that take a bare file (AppLovin, Unity, ironSource, Vungle, Moloco…). The right one is preselected when you choose the network.

What do the preview checks mean?

Engine ready — the playable booted. Game start / Game end — the engine's lifecycle events fired. CTA — the end-card click reached the network's call (or the network's SDK global, where the container owns the click).

Where do credits come from?

Create a free account and your first build credit lands straight away (one per person); larger packs come from the contact page. One credit per successful build, and credits are valid for 30 days from the day they are granted — spent oldest-first, so a newer pack never extends an older one. The Account page shows your balance, the next expiry date and every charge.