// the find
WUTiAM/LUAnity
A solution for mobile game development using Lua in Unity.
LUAnity is a Unity + Lua integration built on LuaInterface, aimed at Chinese mobile game studios that need hot-update capability for live game patches. It lets you call C# from Lua via reflection rather than generating static bindings, and ships prebuilt native libraries for Android ARMv7/ARM64 and iOS. This is a real production tool — the authors shipped a 3D mobile game with it — not a toy.
The reflection-based binding choice is argued honestly and with nuance: they acknowledge the per-call overhead and explain why it doesn't matter if you batch your C#/Lua crossings correctly. ARM64 support was non-trivial when this was built (2018) and they actually solved it. Shipping prebuilt `.so`, `.a`, and `.bundle` artifacts means you don't have to build the C layer yourself to get started. The Lua coding convention (closure-based OOP with upvalue private members) is concrete and avoids metatable lookup overhead — an actual performance technique, not just style advice.
Dead project — last commit 2018, 5 stars, 0 forks. The Unity version targeted (5.4) is four major versions behind current LTS and the API surface has changed substantially. The bundled LuaJIT is 2.0.4/2.1.0-beta2 from roughly 2015; LuaJIT itself has been effectively unmaintained for years and this is an old snapshot of an old snapshot. No package manager integration (no UPM, no openupm) so adoption means copy-pasting files. If you hit a bug in the native layer, you own it — there's no community.