Lua is a lightweight, simple, easy-to-learn, and flexible programming language used to accomplish scripting in Core.
You do not need to know Lua (or any programming language) to build in, create in, and enjoy Core. However, many creators enjoy using Lua as an additional customization tool in their projects and creations!
Here are some of its benefits:
- It’s extremely memory-efficient.
- It is open source.
- It is very simple to incorporate Lua into a C++ game.
- Allows you to test changes, not just without "compiling", but live in the game. Depending on how your game is built, you have the ability to run a command that will restart the game with new scripts without having to stop/reload data and so forth. Not only do you not have to recompile, but you also don't have to re-run.
- It has a reduced API and a lower learning curve. Non-technical artists and designers can join in on some tasks that would be typically programmer-bottlenecked.
- Its syntax is great and familiar - you'd be hard-pressed as a C programmer not to be comfortable in a jiff.
- You can set up a safe execution environment using techniques from Sandboxing
For an intro to Lua as well as more advanced uses, please check out our Basics of Scripting in Core.
Already familiar with Lua? You may want to dig in to our Lua Primer or Advanced Scripting in Core tutorials to see how you can use Lua in Core! Or, you can join our Discord.
Here are additional resources for you to learn all about Lua:
Programming Crash Course - Beginner to Advanced