MoonSharp is a Lua interpreter written entirely in C# for maximum compatibility in Unity.
It can be used to provide easier moddability of your game and to better separate level design from your project code, specially for partially procedural games.
Complete XML help, and walkthroughs on http://www.moonsharp.org
Features
* 99% compatible with Lua 5.2 (with the only unsupported feature being weak tables support)
* Support for metalua style anonymous functions (lambda-style)
* Easy to use API
* Source based remote **debugger** accessible with a web browser and Flash (PCL targets not supported)
* Runs on .NET 3.5, .NET 4.x, Mono, Xamarin and Unity3D
* Runs on Ahead-of-time platforms like iOS
* Runs on platforms requiring a .NET 4.x portable class library (e.g. Windows Phone)
* Easy and performant interop with CLR objects, with runtime code generation where supported
* Interop with methods, extension methods, overloads, fields, properties and indexers supported
* Support for the complete Lua standard library with very few exceptions (mostly located on the 'debug' module)
* Async methods for .NET 4.x targets
* Supports dumping/loading bytecode for obfuscation and quicker parsing at runtime
* Easy opt-out of Lua standard library modules to sandbox what scripts can access
* Easy to use error handling (script errors are exceptions)
* Support for coroutines, including invocation of coroutines as C# iterators
* REPL interpreter, plus facilities to easily implement your own REPL in few lines of code