A fast, small, safe, gradually typed embeddable scripting language derived from Lua, used by Roblox and game developers.
Luau is a fast, small, and safe embeddable scripting language based on Lua 5.1, enhanced with a gradual type system and performance optimizations. It solves the need for a modern, type-aware scripting language in embedded contexts like game engines, where Lua's simplicity is valued but additional safety and tooling are required.
Game developers (especially in the Roblox ecosystem), engineers embedding scripting into applications, and teams needing a performant, type-checkable Lua derivative for large codebases.
Developers choose Luau for its seamless Lua 5.1 compatibility combined with modern features like gradual typing and superior performance, backed by production use at Roblox and other major games, ensuring reliability and active innovation.
A small, fast, and embeddable programming language based on Lua with a gradual type system.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Luau adds optional type annotations and advanced type inference, enabling safer code and better tooling support, as highlighted in its feature set for static analysis.
With a completely rewritten interpreter and runtime optimizations, Luau offers significant speed improvements over standard Lua, making it ideal for performance-sensitive applications like games.
It runs existing Lua 5.1 code with minimal changes, easing migration from Lua, while incorporating useful features from later Lua versions for modern development.
Luau maintains a Lua 5.1-compatible C API and includes sandboxing features like safeenv, simplifying integration into host applications for secure scripting.
Luau deviates from standard Lua API in key areas, such as requiring separate compilation with luau_compile and lacking __gc support, which can break existing Lua bindings and complicate integration.
While adoption is growing, Luau's tooling and community are heavily focused on Roblox, as noted in the README, potentially limiting support and resources for other use cases like general application scripting.
The README admits that for host API details, developers must consult Lua 5.x manuals, indicating gaps in Luau-specific documentation that can hinder onboarding and advanced usage.