跳到主要内容

ZLua DocsAlpha

Unity Il2Cpp 极致优化的现代原生 Lua 方案

Mono · 全功能Il2Cpp · MVP

Unity 2022.3 · Lua 5.4

极致易用

统一 C# 与 Lua 双向调用,类比 P/Invoke 的 [LuaInvoke][LuaCallback][LuaMarshalAs],对开发者完全屏蔽底层 Lua C API。

🚀

极致性能

Il2Cpp 内嵌 Lua,C++ 层直桥:字段按偏移直读、函数经 methodPointer 调用,数倍甚至十倍以上优化传统 xLua 式 Wrapper 路径。

📦

零 Wrapper 膨胀

不生成 C# Wrap 函数,相同签名的桥接函数共享复用,彻底解决传统方案 wrapper 体积庞大的问题。

双向调用一览

C# · LuaInvoke

// Bootstrap.cs
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
private static void InitZLuaOnStartup()
{
    LuaAppDomain.Initialize(LoadLuaModule);
}

[LuaInvoke("app", "main")]
private static extern void AppMain();

[LuaInvoke("app", "add")]
private static extern int AppAdd(int a, int b);

Lua · app.lua

-- app.lua
local function main()
    print("lua main start")
end

local function add(a, b)
    return a + b
end

return {
    main = main,
    add = add,
}