Having part of your code logic implemented using Lua code has several advantages: Lua is simpler (less tricky) to learn and use than C, and it is much more high-level . It supports powerful abstractions, such as function closures and object orientation (in a peculiar way, using Lua tables and metamethods).