The 2D Game Engine

Corona is a free, cross-platform framework ideal for creating games and apps for mobile devices and desktop systems. Using the powerful but easy-to-learn Lua scripting language, over 1000 built-in APIs, a vast selection of plugins, and Corona Native extensions (C/C++/Obj-C/Java), you can bring your app dreams to reality. You can even monitor projects instantly on multiple devices using Live Builds. These features and more are all part of the Corona ecosystem!

Cross-platform

Using Corona, you can publish to all major platforms from a single code base, including Apple iPhone and iPad, Android phones and tablets, Amazon Fire, Mac Desktop, Windows Desktop, and even connected TVs such as Apple TV, Fire TV, and Android TV. No separate projects or rewrites needed!

Mature and time-tested

Over the span of 8 years Corona has evolved into a mature, battle-tested framework. Over 1000 APIs give you access to sprite animations, audio and music, Box2D physics, object tweening, advanced graphical filters, particle emitters, networking, system controls, texture management, native elements, data, and much more.

Lua-based

Corona uses Lua, a powerful and easy-to-learn scripting language, backed up with extensive documentation. Lua is designed to be lightweight, fast, yet powerful. It is used in major titles such as Civilization, Warcraft, and countless indie games. Designers also tend to love Lua because it’s very approachable and it offers plain, forgiving syntax — if you’ve never coded before, Lua and Corona is a perfect place to start!

Real-time simulation

Paired with an IDE or text editor that you’re already comfortable with, the interactive Corona Simulator will respond to your code changes instantly, providing a real-time preview of what your app will look like — and how it will behave — on actual devices. Everything from graphics to animations, simulated physics to beautiful particle effects, the Corona Simulator streamlines your workflow and lets you see changes instantly.

Live testing

When you’re ready to move beyond the Corona Simulator and test your app on actual devices, just select a checkbox on the build screen and our Live Build system kicks in. Then, just like the instant-update Corona Simulator, any device on your local network running a Live Build of the app will update instantly, saving you the time of frequent builds and re-installs.

Speed and performance

From bleeding-fast OpenGL graphics to the lightweight scripting power of Lua, Corona is optimized for performance at every core level. With Corona, your apps are automatically compiled at build time, streamlined for performance and stability.

Plugin power

Corona’s core is already rich with features, but if you need more, there are many plugins in the Corona Marketplace which extend Corona even further! Everything from in-app advertising, analytics, media, hardware features, and more are within your reach through a selection of almost 200 plugins, and that number continues to grow.

No limits

Call any native library

If the extensive core functionality and selection of plugins don’t offer a specific feature you require, Corona Native allows you to integrate your Lua code and assets with an Xcode or Android Studio project and use those tools to build your app. Essentially, Corona Native lets you call any native library using Objective-C and Swift for Apple platforms, Java for Android platforms, and C/C++ for either.

Plugins for all needs

Using Corona Native, you can even create and distribute powerful plugins for other Corona developers in the Corona Marketplace, exposing native platform features, support for third-party tools, and more.

Easy setup

Corona is elegant and inclusive: simply download and install Corona, start a new project, and start editing Lua code in your favorite IDE or text editor. That’s it! With Corona, the fun begins immediately and your changes will be instantly reflected through the built-in Corona Simulator — no need to maintain internal toolsets or configure external SDKs.

Corona is completely free

No hidden fees, charges, or royalties. No matter if you are an indie developer or a large publisher, you will never pay for core functionality.

Corona cards

CoronaCards was designed to be added to existing native apps – it can be embedded in an existing app structure, so it does not control or own the main application stack. There’s complete flexibility: show CoronaCards full or partial screen, or even as an overlay. See what you can do!