Corona Enterprise

Revision Current Public Release (2016.2949)
Keywords extensions, enterprise, plugins, modules
See also Native coding
Native API (iOS)
Native API (Android)
CoronaEnterprise Setup Guide


Corona Enterprise allows you to extend the Lua APIs by adding your custom native extensions. While Lua already supports the creation of new libraries via the module/require mechanism, this functionality is generally restricted to libraries implemented in Lua. Corona Enterprise removes this restriction by enabling you to add libraries which are implemented as native code. In other words, you can wrap native code behind a Lua interface so that it looks just like any other Corona API.

System Requirements

Desktop Operating System

Development Tools


In Corona Enterprise, you will have access to a special Native API that lets you create you own Lua-based APIs for use by your project code (e.g. main.lua).

The following diagram shows where your custom native extension fits in the Corona technology stack:

The layer called Native Extension is the native code that you write to offer new functionality that's accessible by your Lua project. It builds on Corona's Native API that's part of the Corona Engine.

On iOS, the native API is Objective-C. On Android, it's Java.

Getting Started

Instructions to setup CoronaEnterprise are available on our our Corona Enterprise Setup Guide. There is also information on upgrading daily builds.

Creating a Project

The App project is a project template that allows you to develop for both iOS and Android. You should copy this project for each new Enterprise project.


This project has several subfolders:

  • ios Contains all iOS-specific code, projects, etc.
  • android Contains all Android-specific code, projects, etc.
  • Corona This is the classic Corona project containing files like main.lua, images, etc.
  • Unlike projects built via Corona SDK, Corona Enterprise builds do not use the config.lua or build.settings files. You must configure settings manually in your project.

  • Because build.settings is ignored, plugins specified within are not automatically loaded. You must obtain plugin(s) from the Daily Builds page by selecting the Corona Enterprise tab and downloading the latest plugin package, for example CoronaEnterprisePlugins.2015.2646.tgz.

Native Extensions

For your convenience, the projects are structured so that your extensions are packaged as plugins. In both the iOS and Android version of the App project, the Lua library plugin.library is created.

See Plugin Projects under the Plugin guide for more information.