Point me to the URL of the documentation about Unity and MRAID and I’ll add it to the tool.
it would be great, if you add it, here is Unity documentation on Playable Ads
and MRAID documentation
thank you
Many thanks! It looks like a simple task and at first glance it would even be possible to make a universal playable ad build supporting both Unity (and others with mraid) and Facebook at the same time.
Unity Ads support is almost done! There are still a couple of things that need to be completed to make the Defold-made playable ad pass the Unity Ad Tester app.
Hi, can you share please quick tip on how to create CTA button and is there any templates for different platforms output ?
The tool automatically detects the platform where the ad is running. Nothing extra needs to be done, except specifying a link to the application if it is Unity Ads.
I added the info about CTA in the “Playable Ad Development Steps With Defold” section in README.
So, I released a new version. The changelog:
- added support for Unity Ads.
- updated documentation.
- updated example to test how the sound is paused in the Unity Ad Tester when the player minimises the app.
Plus, it looks like AppLovin is supported too, since the ad passed their ad tester tool.
And I’m really looking forward to the real results from the community! We personally have never run any ad campaigns with playable ads made with Defold, so we need your feedback and experience. If there are any technical issues, make sure to let us know.
Hello!
Is this normal behavior in verification tools on FB? Or should it turn green? In the project that is given as an example, it works the same way.
This is a question for the Playable Preview Tool - ask the FB support. Because even on a simple test html like this, the above warning is still showing:
<html>
<body>
<button onclick="FbPlayableAd.onCTAClick();">Click Me</button>
</body>
</html>
Plus, it’s better to an ad campaign in the FB ad cabinet and check if playable ad works there. Everything should work. Also, you will be able to check your playable ad on your mobile device.
Hi all. I’ve been looking into taking our game and making a cutdown version as a playable app. Got the zip to around 3.8mb which is nice, probably could get it down further too it needed (amazing engine!).
But… I’ve just tried using this toolset for building it into a single HTML file and run across a bunch of errors. It looks like some issue between the toolset and the Spine library. The ad/game runs fine as a standalone html build, but I get these errors when trying to run the Gulp script:
ERROR: defold-spine/src/comp_spine_model.cpp:53: 'too few arguments provided to function-like macro invocation
53 | DM_PROPERTY_GROUP(rmtp_Spine, "Spine");'
INFO: defold-spine/ext.manifest:595: 'macro 'DM_PROPERTY_GROUP' defined here
595 | #define DM_PROPERTY_GROUP(name, desc, parent) dmProfileIdx *name() { static dmProfileIdx n = dmProfileCreatePropertyGroup(#name, desc, parent); return &n; } static dmProfileIdx *name##_p = name()'
ERROR: defold-spine/src/comp_spine_model.cpp:53: 'a type specifier is required for all declarations
53 | DM_PROPERTY_GROUP(rmtp_Spine, "Spine");'
ERROR: defold-spine/src/comp_spine_model.cpp:54: 'use of undeclared identifier 'FrameReset'
54 | DM_PROPERTY_U32(rmtp_SpineBones, 0, FrameReset, "# spine bones", &rmtp_Spine);'
ERROR: defold-spine/src/comp_spine_model.cpp:54: 'use of undeclared identifier 'rmtp_Spine'
54 | DM_PROPERTY_U32(rmtp_SpineBones, 0, FrameReset, "# spine bones", &rmtp_Spine);'
ERROR: defold-spine/src/comp_spine_model.cpp:55: 'use of undeclared identifier 'FrameReset'
55 | DM_PROPERTY_U32(rmtp_SpineComponents, 0, FrameReset, "# spine components", &rmtp_Spine);'
ERROR: defold-spine/src/comp_spine_model.cpp:55: 'use of undeclared identifier 'rmtp_Spine'
55 | DM_PROPERTY_U32(rmtp_SpineComponents, 0, FrameReset, "# spine components", &rmtp_Spine);'
ERROR: defold-spine/src/comp_spine_model.cpp:210: 'no member named 'ConstructInstanceId' in namespace 'dmGameObject'
210 | dmhash_t id = dmGameObject::ConstructInstanceId(index);'
ERROR: defold-spine/src/gui_node_spine.cpp:28: 'use of undeclared identifier 'FrameReset'
28 | DM_PROPERTY_U32(rmtp_SpineGuiNodes, 0, FrameReset, "", &rmtp_Spine);'
Before I dig any deeper I wanted to see if anyone had encountered similar and can give me any pointers as to what might be happening here?
Thanks
That are older style profiler api in the engine.
It seems to ne you’re mixing versions between Defold and the Spine extension.
Thanks, you’re right!
Thank you for mentioning this topic! I also checked how the script works on the latest version of Defold. It turned out that due to changes in dmloader.js, a minor adjustment was required. I fixed it and updated it ![]()
But I still have a question, just curious: why do we now first load the contents of*_wasm.js in dmloader.js and then have the browser load it again? Previously, it was script.text = response instead of script.src = src:

