Lua Academy logo
LuaBeginnerMobileSystemsLevels A1 → C122 languages

Lua Academy

Learn Lua to develop lightweight and flexible applications with Lua Academy. A CoddyKit learning path of 40 short courses and 159 interactive lessons, with a 24/7 AI tutor at your side.

Courses
40
Lessons
159
Interactive steps
2,014
Free to start
Course 1
Curriculum

40 courses in this path

Every course in the Lua Academy path, in learning order. The first one is free.

1

A13 lessonsFree

Discover what Lua is, why it is the secret engine inside Roblox, World of Warcraft, and countless game engines, and why it is one of the fastest languages to learn.

2

A14 lessonsPRO

Master the fundamentals of Lua programming: variables, data types, arithmetic, logical and string operators, and type coercion rules.

3

A14 lessonsPRO

Work confidently with Lua's numbers and math library.

4

A24 lessonsPRO

Master conditional statements and loop constructs in Lua, including while, repeat-until, numeric for, and generic for loops.

5

A24 lessonsPRO

Learn to define and call functions, use multiple return values, varargs, first-class functions, and recursive patterns.

6

A24 lessonsPRO

Deep dive into Lua tables used as arrays, dictionaries, and records. Master insertion, deletion, traversal, and nested structures.

7

A24 lessonsPRO

Learn to open, read, write, and close files using Lua's io library, handle errors, and work with file handles.

8

A24 lessonsPRO

Use array-style tables and the sequence conventions.

9

A24 lessonsPRO

Read, format, and compute with dates and times.

10

B14 lessonsPRO

Master Lua's string library: concatenation, length, find, sub, format, gsub, gmatch, and pattern matching basics.

11

B14 lessonsPRO

Understand metatables and how metamethods like __index, __newindex, __add, and __tostring customize table behavior.

12

B14 lessonsPRO

Master Lua's error handling model using pcall, xpcall, error(), and structured error objects for robust programs.

13

B14 lessonsPRO

Build modular Lua programs with require, understand package.path and package.loaded, and create reusable module files.

14

B14 lessonsPRO

Learn Lua coroutines: create, resume, yield, and status. Understand cooperative multitasking and producer-consumer patterns.

15

B14 lessonsPRO

Build full OOP systems in Lua using metatables, __index for method dispatch, constructors, and instance data encapsulation.

16

B14 lessonsPRO

Implement single and multiple inheritance in Lua using metatable chains, mixin patterns, and method overriding.

17

B14 lessonsPRO

Master table.sort, table.concat, table.move, deep copy strategies, and efficient manipulation of large data structures.

18

B14 lessonsPRO

Comprehensive tour of Lua's standard libraries: math, table, string, io, os, and debug modules with practical examples.

19

B14 lessonsPRO

Master Lua's powerful pattern matching system for text parsing, data extraction, tokenization, and transformation.

20

B14 lessonsPRO

Treat functions as values to write expressive Lua.

21

B14 lessonsPRO

Move data in and out of Lua as JSON.

22

B24 lessonsPRO

Understand Lua closures deeply: upvalues, shared upvalues, factory functions, memoization, and closure-based state machines.

23

B24 lessonsPRO

Build custom iterators and stateful generators in Lua using closures, coroutines, and the generic for protocol.

24

B24 lessonsPRO

Apply Lua in game development: event systems, component scripting, AI behavior trees, data-driven configuration, and hot-reload.

25

B24 lessonsPRO

Write and run automated tests for your Lua code.

26

B24 lessonsPRO

Build async/await-style concurrency in Lua using coroutines, event loops, promise equivalents, and non-blocking I/O patterns.

27

B24 lessonsPRO

Build a production-quality OOP class system in pure Lua with inheritance, mixins, interfaces, type checking, and serialization.

28

B24 lessonsPRO

Design a plugin system in Lua: discovery, loading, sandboxing, versioning, hooks, and lifecycle management for extensible apps.

29

B24 lessonsPRO

Master Lua debugging tools: debug library, remote debuggers, profilers, code coverage, and systematic troubleshooting techniques.

30

B24 lessonsPRO

Write efficient Redis Lua scripts: EVAL, KEYS/ARGV, transactions, atomic operations, rate limiting, and Lua library helpers.

31

B24 lessonsPRO

Build 2D games with the LÖVE framework and Lua.

32

C14 lessonsPRO

Understand Lua's garbage collector, weak references, weak tables, and finalization for efficient memory-sensitive applications.

33

C14 lessonsPRO

Learn the Lua C API: creating states, pushing values, calling Lua from C, registering C functions, and managing the stack.

34

C14 lessonsPRO

Squeeze maximum performance from Lua using LuaJIT's JIT compiler, optimization techniques, profiling, and micro-benchmarking.

35

C14 lessonsPRO

Use LuaJIT's FFI library to call C functions directly, declare C types, load shared libraries, and handle pointers safely.

36

C14 lessonsPRO

Build high-performance web applications with OpenResty: request handling, shared memory, cosockets, Redis integration, and caching.

37

C14 lessonsPRO

Implement secure Lua sandboxes: restricted environments, preventing escapes, safe require, resource limits, and audit logging.

38

C14 lessonsPRO

Design and implement a domain-specific language in Lua: custom syntax via metatables, parser combinators, interpreters, and config DSLs.

39

C14 lessonsPRO

Talk to the network using the LuaSocket library.

40

C14 lessonsPRO

Extend Neovim using its built-in Lua API.

CoddyKit PRO

Unlock all 40 courses in this path, and every other path

AI tutor, certification exam and certificate. Works on web, iOS and Android.

See all plans
Yearly$29.90 / yearAbout $2.49 a monthPay onceLifetime$69.99 onceNo renewals. PRO forever.
Course Overview

Lua: The Lightweight Scripting Language That Runs Everywhere

Lua is a fast, embeddable scripting language used in game engines, web servers, databases, and text editors — from the LOVE game framework and Roblox to Redis, Nginx via OpenResty, and Neovim. Its minimal core and clean C API make it the default choice when you need a scriptable runtime without the overhead of a full language stack. This track covers Lua from first principles to production-grade embedding and performance tuning, based on 40 structured courses.

What You Will Learn

You will start with variables, types, operators, and control flow, then move into the feature that makes Lua distinctive: tables as the universal data structure for arrays, dictionaries, and objects alike. From there you will work through the standard string library, pattern matching, file I/O, and date handling. Intermediate topics include metatables and metamethods, object-oriented and functional programming patterns, coroutines, closures, modules, and JSON encoding. Applied tracks cover Lua scripting for game logic, unit testing with busted, Redis scripting, and building a plugin architecture. Advanced courses reach into memory management with weak tables, embedding Lua in C applications, LuaJIT performance optimization, FFI for calling C libraries, OpenResty/Nginx integration, sandboxing, DSL construction, networking with LuaSocket, and writing Neovim plugins.

The Learning Path

Forty courses span A1 through C1. The A1 and A2 courses establish the language fundamentals — syntax, functions, tables, sequences, and basic I/O. B1 courses build the Lua-specific mental model: metatables, coroutines, OOP patterns, inheritance, functional programming, and the standard libraries. B2 courses apply that knowledge in real contexts: Lua Scripting for Game Logic, Coroutine-Based Async Patterns, Lua for Redis Scripting, and Lua Game Development with LOVE. The C1 capstone tier addresses expert-level topics — Embedding Lua in C Applications, LuaJIT & Performance Optimization, FFI: Calling C Libraries from Lua, Lua in Nginx (OpenResty), and Lua Writing Neovim Plugins.

How It Works

Each course is split into short, hands-on lessons you complete in the built-in code editor with real-time feedback. An AI tutor is available whenever you get stuck, and the track is self-paced so you can move quickly through topics you already know and slow down for the parts — like metatables or coroutines — that reward careful attention.

How You'll Learn

  1. 01

    Interactive Lessons

    Hands-on coding exercises with real-time feedback

  2. 02

    AI Tutor

    Get instant help from our AI when you're stuck

  3. 03

    Built-in Editor

    Write and run code directly in your browser

  4. 04

    Certificate

    Earn a certificate when you complete the course

FAQ

Frequently Asked Questions

Is the Lua Academy course free?

Yes. You can start the Lua Academy course for free and complete its interactive lessons at no cost. An optional PRO subscription unlocks advanced AI tools and a shareable certificate.

Do I need prior experience to learn Lua?

No. The course begins with the fundamentals and gradually moves to more advanced topics, so you can start even with no prior Lua experience.

How will I learn Lua on CoddyKit?

You learn by doing. Short interactive lessons pair a clear explanation with a hands-on coding exercise that runs in real time, and a 24/7 AI tutor gives personalized help whenever you get stuck.

Do I get a certificate for completing Lua Academy?

Yes. PRO learners can take an exam and earn a shareable certificate of completion with a verifiable code for the Lua Academy course.

Can I learn Lua on my phone?

Yes. CoddyKit is available on the web and as native iOS and Android apps, so you can learn Lua on any device and your progress syncs across them.

How much does CoddyKit PRO cost?

The first course of Lua Academy is free. CoddyKit PRO unlocks every course: $5.90 per week, $7.90 per month, $29.90 per year, or $69.99 once for lifetime access with no renewals.

How long does it take to complete Lua Academy?

Lua Academy has 40 courses and 159 lessons. Most lessons take about 5–10 minutes, so the whole path is roughly 19 hours of hands-on practice, at your own pace.

Start Lua Academy Now

Join thousands of learners mastering programming with AI-powered lessons.