UnLua
A feature-rich, easy-learning and highly optimized Lua scripting plugin for UE.
Install / Use
/learn @Tencent/UnLuaREADME

概述
UnLua是适用于UE的一个高度优化的Lua脚本解决方案。它遵循UE的编程模式,功能丰富且易于学习,UE程序员可以零学习成本使用。
在UE中使用Lua
- 直接访问所有的UCLASS, UPROPERTY, UFUNCTION, USTRUCT, UENUM,无须胶水代码。
- 替换蓝图中定义的实现 ( Event / Function )。
- 处理各类事件通知 ( Replication / Animation / Input )。
更详细的功能介绍请查看功能清单。
优化特性
- UFUNCTION调用,包括持久化参数缓存、优化的参数传递、优化的非常量引用和返回值处理。
- 访问容器类(TArray, TSet, TMap),内存布局与引擎一致,Lua Table和容器之间不需要转换。
- 高效的结构体创建、访问、GC。
- 支持自定义静态导出类、成员变量、成员函数、全局函数、枚举。
平台支持
- 运行平台:Windows / Android / iOS / Linux / OSX
- 引擎版本:Unreal Engine 4.17.x - Unreal Engine 5.x
注意: 4.17.x 和 4.18.x 版本需要对 Build.cs 做一些修改。
快速开始
安装
- 复制
Plugins目录到你的UE工程根目录。 - 重新启动你的UE工程
开始UnLua之旅
注意: 如果你是一位UE萌新,推荐使用更详细的图文版教学继续以下步骤。
- 新建蓝图后打开,在UnLua工具栏中选择
绑定(可同时按住Alt键自动生成第2步的路径) - 在接口的
GetModule函数中填入Lua文件路径,如GameModes.BP_MyGameMode - 选择UnLua工具栏中的
创建Lua模版文件 - 打开
Content/Script/GameModes/BP_MyGameMode.lua编写你的代码
更多示例
- 01_HelloWorld 快速开始的例子
- 02_OverrideBlueprintEvents 覆盖蓝图事件(Overridden Functions)
- 03_BindInputs 输入事件绑定
- 04_DynamicBinding 动态绑定
- 05_BindDelegates 委托的绑定、解绑、触发
- 06_NativeContainers 引擎层原生容器访问
- 07_CallLatentFunction 在协程中调用
Latent函数 - 08_CppCallLua 从C++调用Lua
- 09_StaticExport 静态导出自定义类型到Lua使用
- 10_Replications 覆盖网络复制事件
- 11_ReleaseUMG 释放UMG相关对象
- 12_CustomLoader 自定义加载器
- 13_AnimNotify 动画通知
最佳实践示例
Lyra with UnLua 基于UE官方 Lyra初学者游戏包 的完整示例项目,目前正在施工中
文档
常用文档:设置选项 | 调试 | 智能提示 | 控制台命令 | FAQ
详细介绍:
- 编程指南:介绍 UnLua 的主要功能和编程模式
- 插件与模块:介绍 Plugins 目录下的插件列表以及它们所包含的模块
- 功能清单:更详细的功能列表
- 实现原理:介绍 UnLua 的两种覆盖机制
- API:更详细的 UnLua API 说明
技术支持
- 官方交流QQ群:936285107
- 推荐VSCode插件:Lua Booster
Related Skills
groundhog
398Groundhog's primary purpose is to teach people how Cursor and all these other coding agents work under the hood. If you understand how these coding assistants work from first principles, then you can drive these tools harder (or perhaps make your own!).
isf-agent
a repo for an agent that helps researchers apply for isf funding
workshop-rules
Materials used to teach the summer camp <Data Science for Kids>
last30days-skill
13.4kAI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the web - then synthesizes a grounded summary
