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.

Official plugins

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.

Plugin Marketplace

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.


Building a pure Lua plugin for Corona

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.

CoronaViewer — Mobile development from mobile devices

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.

Social sharing on Android

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.

Utilizing the Activity Popup plugin (iOS)

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.

Using the Zip plugin

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.

Using the OpenSSL plugin

Sometimes you’ll need to encrypt and decrypt data for protection against casual hackers. The OpenSSL plugin can handle both tasks and this tutorial walks you through the process.

Introducing the Pasteboard plugin (iOS)

In business apps, it’s useful to be able to copy and paste text, images, etc. between apps. The Pasteboard plugin gives you this ability. Learn how to use it in this tutorial.

Introducing the Quick Look plugin (iOS)

In this tutorial, learn how to use the Quick Look plugin to display PDF files, Office documents, iWork documents, .rtf files, and more.

Accessing iOS contacts

In this tutorial, discover how the Address Book plugin can give you access to the iOS contact database.

Sample code

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>