4 min read · plugin guides
Lua vs Luau: What Roblox Actually Runs (and Why It Matters)
Roblox does not run vanilla Lua. Luau adds types, performance, and guardrails; here is what changed and what it means for AI-generated code.
Every script you write in Roblox Studio runs on Luau, Roblox's own derivative of Lua 5.1. It looks like Lua, reads like Lua, and then it quietly gives you things Lua never had: optional type annotations, string interpolation, continue statements, and a compiler that optimizes hot paths harder than vanilla Lua ever could.
The additions that matter day to day
- Type annotations: local damage: number = 25 catches a whole class of bugs at edit time.
- --!strict mode: the analyzer flags mismatches across your whole module.
- Compound assignment: score += 1 instead of score = score + 1.
- String interpolation: `Hello {player.Name}` instead of string.format.
Why AI tools get this wrong
Generic chat models trained on vanilla Lua reach for patterns Roblox deprecated years ago: wait() instead of task.wait(), Instance.new('IntValue') instead of attributes, spawn() instead of task.spawn(). A purpose-built engine knows the difference because the rules are encoded in its system prompt and verified API reference; not hoped for in the weights.
Try it while you're here
The plugin is free during beta. Setup is five clicks, start to finish.