In the early days of Corona SDK, the engineering team faced a dilemma: the SDK’s core was growing in size as more and more features were being added and, as a result, app builds from the SDK were growing in size as well. However, not all developers needed all of these features, and the size increase was ultimately unsustainable.
The solution? Plugins. Plugins allow our engineers and 3rd-party developers to create extensions for Corona which can package additional features “on demand” during the build process. This allows developers to use primarily the features that they need on a per-project basis. In addition, plugins can be updated out-of-cycle with official releases of Corona SDK, allowing us and other vendors to modify and improve their plugins without affecting the core SDK.
A list of the current official plugins can be found here. This is the definitive list of Corona-made plugins and 3rd-party plugins, featuring links to the latest documentation for each.
Beyond the official plugins, we encourage you to visit the Plugin Marketplace to obtain even more useful plugins for your Corona projects. These include useful utilties like QR Scanner, Flashlight, Twitter, a plugin for 2D math operations, and much more. If you don’t see the plugin you need, keep an eye on the blog where we announce new plugins as they enter the marketplace — and, if you are an enterprising developer who wants to create a plugin and distribute it, please see the Vendor FAQ for details.
While more advanced plugins will need to be created with Corona Enterprise, developers who program primarily in Lua can turn almost any Lua module into a plugin and distribute it to the Plugin Marketplace. Learn how in this tutorial.
While you may not think of CoronaViewer as a plugin, some actually consider it the “ultimate” developer’s plugin. With CoronaViewer, you can edit your Corona project on your Mac or Windows desktop and preview code changes in real-time on a mobile device.
If you need yet another reason to explore the power of CoronaViewer, guest writer Matt Webster illustrated how to develop a mobile app from a mobile device instead of from a desktop machine — learn how in this tutorial.
To assist with sharing things from your Android app on social media, we added the ability to show the Android “sharing” panel via native.showPopup(). Learn how to use the Social Plugin in this tutorial.
Early on, social sharing for iOS was done using the Social Plugin typically used on Android, but it was limited in the “services” that it offered. Starting with iOS 7, Apple added the “UIActivityViewController” which combined all social networks into a single on-screen panel, similar to Android. In Corona, this feature is enabled via the Activity Popup plugin outlined in this tutorial.
The Zip plugin allows you to either take multiple files and compress them into a
.zip file (perhaps for uploading to a server), or decompress/unzip a
.zip a file that you’ve downloaded from a server. Learn how to use it in this tutorial.
Corona Labs has open-sourced our core plugins so that you can learn to build your own. If interested, check out our GitHub repository.
Plugins are a powerful tool in any developer’s toolkit, and these resources outline several of them. Beyond that, developers can submit their own plugins to the Plugin Marketplace, and even if your programming knowledge is limited to primarily Lua, you can create and distribute your own Lua-based plugins for the benefit of the community.