UnLua是Unreal Engine 4下特性丰富且高度优化的Lua脚本插件。它遵循Unreal Engine 4的编程模式,简单易上手,UE4程序员更是可以零学习成本使用。UnLua目前已经被应用在大量的大型项目中。
适用场景
主要特性
零胶水代码访问引擎反射体系内的所有UCLASS、 UPROPERTY、 UFUNCTION、 USTRUCT、UENUM。
零辅助代码覆写(Override)所有'BlueprintEvent' (包括所有用'BlueprintImplementableEvent'或'BlueprintNativeEvent'标记的UFUNCTION和所有蓝图中定义的Event/Function)、 Replication Notify、 Animation Notify、 Input Event。
完备的静态导出方案,用于导出引擎反射系统之外的类(成员函数、成员变量)、全局函数、枚举。
高度优化的UFUNCTION调用,包括持久化参数缓存、优化的参数传递、优化的非常量引用和返回值处理。
高效的基础容器(TArray、TSet、TMap)访问,内存布局与引擎一致,无需在Lua Table和容器间转换。
高效的结构体创建、访问、GC。
支持自定义的碰撞检测相关枚举。
支持UFUNCTION(带BlueprintCallable或Exec标签)默认参数。
支持编辑器内Server/Client模拟。
支持Lua协程中执行Latent函数,同步写法完成异步逻辑。
支持根据Blueprint类型自动生成Lua模板代码。
使用示例
未来规划
UnLua 正式开源
Github 开源地址:
https://github.com/Tencent/UnLua
(点击文末阅读原文直接访问)
请给 UnLua 一个 Star !
欢迎提出你的 issue 和 PR!
UnLua 国内镜像地址:
https://git.code.tencent.com/Tencent_Open_Source/UnLua
腾讯工蜂源码系统为开源开发者提供完整、最新的腾讯开源项目国内镜像