A pure C# implementation of Lua 5.2 designed for seamless integration with Unity3D game development.
UniLua is a pure C# implementation of the Lua 5.2 scripting language designed specifically for Unity3D game development. It allows developers to embed Lua scripting capabilities directly into their Unity projects without requiring native plugins or external dependencies. The implementation focuses on maintaining compatibility with standard Lua 5.2 while optimizing for Unity's C#-based environment.
Unity3D game developers who need to integrate Lua scripting into their projects, particularly those working on games that require runtime scripting, modding support, or configuration through Lua scripts.
Developers choose UniLua because it provides a clean, dependency-free Lua implementation that integrates natively with Unity's C# ecosystem, avoiding the complexity of native plugin management while maintaining good compatibility with Lua 5.2 standards.
A pure c# implementation of Lua 5.2 focus on compatibility with Unity
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Entirely written in C#, ensuring seamless integration with Unity and Mono/.NET environments without any native code dependencies, as highlighted in the project description.
Implements key Lua 5.2 features including coroutines and metatables, with base, package, coroutine, and table libraries fully functional, as stated in the README's development status.
Prioritizes Unity3D workflows, with wiki guides for loading code from AssetBundles and a tailored C# API, making it easier to embed in Unity projects.
Includes a built-in encoding library for converting between UTF-8 and UTF-16, which is useful for handling international text in games, as noted in the features.
Missing IO and OS libraries entirely, with String and Debug libraries only partially implemented, as admitted in the README, limiting out-of-the-box functionality.
Does not support __gc metamethods or weak tables (__mode) due to reliance on C#'s GC mechanism, which can hinder memory management in Lua scripts, as per known issues.
The FFI library is experimental and discouraged for performance-critical use, forcing developers to implement custom C# function calls from Lua, as warned in the README.