CARVIEW |
Select Language
HTTP/2 200
date: Sun, 27 Jul 2025 22:22:03 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"5c161f530fefb40f46aeb90b6cbd9a22"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=35ESfhIvV6dzoBdJI88xDdLSiGKTNx4etAUUeoH8CwCbNJG5nUU6Dq7v7NAQTKMPcPslwvy1iCYcAWv17YL0n7ytQntI0pk%2B%2F4DZpAtUFvbRTd8AxDX3xN5wNs7ZPCJJmu2ZpVOsvNftkwRlkr%2BHrRUUnRrYVm4xAFdzXepwyJskhI%2BC56q37Vh4Af0muNrhjfypSj08027Wa77aQJr5PMj8z5GMwQS3yCKlSSZjyTtNvqVDK3oomYtwKiXESvBQmWMt1fRVtSJ%2F3It%2F1i6c9g%3D%3D--GEXoFVeVcvzpAqTc--qJttgnKRq28NIi7b54sAeQ%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1498936638.1753654923; Path=/; Domain=github.com; Expires=Mon, 27 Jul 2026 22:22:03 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Mon, 27 Jul 2026 22:22:03 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: DCF4:3240E6:11DA49E:1785259:6886A68B
Releases · Tencent/UnLua · GitHub
07 Nov 04:01
Loading
29 May 10:44
Loading
02 Feb 10:49
Loading
09 Dec 11:26
Loading
09 Dec 11:20
Loading
11 Nov 11:40
Loading
08 Oct 12:32
Loading
01 Sep 11:31
Loading
15 Jul 11:43
Loading
17 Jun 11:55
Loading
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 668
Releases: Tencent/UnLua
Releases · Tencent/UnLua
2.3.6
Compare
Added
- 对UE5.3的支持 #642
Fixed
- lua在GC时偶现崩溃的问题 #626
- 覆写的函数的Out参数是C++结构体时,Lua不返回会导致崩溃 #634
- 日志参数不匹配的问题 #642
- 访问来自非native父类的property时检查有效性 #661
- 同一个Lua函数绑定多个不同签名的代理导致崩溃 #660
- 应该支持从L构造FLuaValue类型 #666
- 特定情况下在Lua中调用TArray的Add接口时内存对齐引起的问题 #668
- 兼容蓝图Recompile导致FuncMap被清空的情况 #669
- 清理一些UE5下的编译警告
Changed
- FObjectRegistry::Push增加Valid检查 规避一些容器内野指针的情况 #663
- 每个FLuaEnv持有独立的ClassRegistry和EnumRegistry
Assets 2
11 people reacted
2.3.5
Compare
Added
- 对UE5.2的支持
- 增加配置选项自定义Lua版本
- 增加配置选项启用FText支持
- 适配UE5.1的UHT #600 #607
- 禁止在Lua的
Initialize
函数中访问当前UObject
上的UFunction
- 在Lua中
loadstring
失败时的全路径错误信息输出
Fixed
- ENABLE_PERSISTENT_PARAM_BUFFER模式下 Buffer被递归调用的覆盖 #563
- 在启用
AsyncLoadingThread
时,异步加载后触发绑定对象到Lua可能引起崩溃
Changed
- 调整配置文件名称为
UnLuaSettings.ini
#596 - 在Lua中
NewObject
时,Outer传nil时使用TransientPackage
#604 - 当不启用类型检查时,若函数要求有返回值但Lua里不返回,则用默认值作为返回值
Removed
- 移除
SUPPORTS_RPC_CALL
宏
Assets 2
5 people reacted
2.3.3
Compare
Added
- 增加对
EnhancedInput
输入绑定的支持 - 增加 启用Insights分析支持 和 传参方式 配置选项
- 热重载失败时输出错误日志 #581
- 自动将启用的
UnLuaExtensions
的脚本加入打包设置 - 支持按需重新加载蓝图枚举,也支持用UnLua.Ref来保持引用 #585
Fixed
- 编辑器使用
Development
环境启动后,加载Lua脚本报错时代码优化导致longjmp崩溃的问题 - 在Lua中遍历TMap字段的Values接口返回值时引起的崩溃 #583
- 协程里require脚本加载异常 #551
- 加载
socket.http
模块时报错
Changed
- 在启用类型检查时,非法参数不写入实际参数内存块,避免报错后又在使用时崩溃
- 将
UnLuaExtensions
的启动时间提前,避免在入口脚本里直接访问的时候这些模块还没启动
Assets 2
1 person reacted
2.4.0
Compare
Added
- 基于2.3.2的BETA版本,支持使用Lua来扩展编辑器示例场景
UnLuaInterface
增加Run in Editor
,允许编辑器非PIE(不运行游戏)状态下绑定到Lua- 支持Lua扩展自定义菜单、工具栏、控制台命令等
Fixed
- 打包时提示
Binaries/Lua.dll
被占用
Assets 2
3 people reacted
2.3.2
Compare
Added
- 增加配置选项崩溃时输出Lua堆栈到日志
- 针对自
2.2.0
版本以来调整的垃圾回收机制的说明文档
Fixed
- UObject绑定后的元表和其他表相等判断时结果错误 #281 #567
- 访问UStruct内部的委托会check #561
- 多次传递委托类型的参数到同一函数时,可能因为Owner失效而无法回调 #566
- UE5.1之后构造
FProperty
报deprecated #569 - pairs在参数异常时返回空迭代器,避免lua调试时访问报错
- 热重载upvalue没有生效
UObject.Load
传入中文路径时乱码
Changed
- 在热重载模式为禁用时,不再加载
HotReload.lua
,不会替换全局的require
- 在使用
LoadObject
加载不到对象时不再输出加载失败的日志,而是直接返回nil
Assets 2
2.3.1
Compare
Added
- 支持UE5.1
- 支持PS5
- 增加
UnLua::PrintCallStack(L)
的接口来方便在IDE里断点直接执行输出lua堆栈 - 更多容器和结构体相关的访问保护,增加悬垂指针检查选项
UnLuaExtensions
新增可选集成 lua-protobuf 和 lua-rapidjson- 增加
FLuaEnv
的OnDestroyed
事件
Fixed
- Lua报错输出脚本路径如果太长会被截断
- xxx:IsA(UE.UClass) 会报错
- Lua覆写Out返回值时无法返回nil #539
- 安装
Apple ProRes Media
插件后会导致UnLua启动崩溃 #534 - Actor的Struct成员变量在Lua里引用,释放后仍旧可以访问 #517
- 在
print
时参数过多可能会导致Lua栈溢出的问题 #543 - LuaGC使用了未初始化的参数 #548
- NullPointer error in function 'CheckPropertyType' #549
- 找不到
UnLua.Input
模块时不会再check了 - 访问非TArray的结构体数组报错 #554
- 服务端
Possess
后,新角色上的InputComponent
输入绑定无效 #553 - mac打包找不到libLua.dylib问题 #557
Changed
- 在启用类型检查时,需要依次返回返回值和Out参数,而不能像旧版本一样忽略不返回
Assets 2
1 person reacted
2.3.0
Compare
Added
- 支持使用
UnLua.PackagePath
的方式来搜索Lua文件,也支持从插件Content目录加载 - 支持Android下的x86_64
- 支持自定义预绑定类型,参考预绑定类型列表配置选项
- 支持UE5下的蓝图UMG输入绑定,使用新增的
UnLua.Input
模块,可以做到更细节的输入绑定 UnLua.Ref
和UnLua.Unref
接口,提供将UObject
生命周期和Lua侧同步的管理机制- 提升Lua访问UE函数和属性的性能
- 自定义生成Lua模版
Fixed
- Mac下编辑器的dylib无法加载
- PushMetatable时会使用旧的metatable #515
- Delegate的闭包函数的upvalue无法被gc #516
- 在Lua中访问TArray不存在的字段会报stackoverflow
- 自动保存的打包设置没有生效
- UE5下打包后UnLua配置没有正确加载
Changed
- 默认关闭运行时对
UTF-8 BOM
文件头的加载支持,需要兼容请开启兼容UTF-8 BOM文件头选项
Removed
- 移除
AddPackagePath
接口
Assets 2
2.2.4
Compare
Added
- 增加最佳实践工程示例 Lyra with UnLua
- 支持配置按C/C++编译Lua环境
- 支持Lua启动入口脚本配置
- 支持Lua环境手动启动参数
- 默认自动将
Content/Script
目录加入打包设置 - 增加一些指针对象的合法性检查
UnLua.HotReload
支持手动指定热重载模块列表- 支持Commandlet导出蓝图智能提示信息 #507
Fixed
- UE5下的Script编译警告
- 智能提示文件重复生成 #498
- 智能提示蓝图类型使用
_C
后缀 #493 - PIE运行状态下保存对象,可能引起编辑器崩溃 #489
bAutoStartup
配置选项没有生效- 当
UnLuaHotReload.lua
不存在时会报错 - 通过C++类绑定的时候使用自动创建脚本功能会崩溃 #490
- 修复一些智能提示被过滤了的情况
- 监听嵌套界面里的组件的事件会导致组件无法被回收
- 覆写C++类型的函数后在蓝图编辑器里调用需要刷新节点才能编译过 #500
- Lua持有结构体下的TArray字段,在结构体本身被GC后访问该数组会导致崩溃 #505
TCHAR_TO_XXX
等宏应该只在行内传参使用 #508- 退出游戏时候可能访问已经被释放的
UUnLuaManager
引起的崩溃 #504 - UE5下在编辑器运行游戏的同时编译并保存动画蓝图会Crash #510
Changed
Assets 2
2.2.3
Compare
Added
- 支持蓝图的
BlueprintFunctionLibrary
绑定到Lua与覆写 - 支持CDO绑定
- 支持自定义Lua模块定位设置
- 生成Lua模版文件时增加
@class
注解 - UnLua内置API的智能提示
- 生成智能提示时显示更详细的进度条
Fixed
- 打包DS服务端后,预先放在地图里的绑定过Lua的Actor会导致崩溃 #479
- 退出PIE时一些被覆写的Lua函数不会被执行 #472
- 切换场景时访问已释放对象上的属性时会引起崩溃 #482
- 同一个委托对象传递给不同函数来绑定和解绑,会出现无法解绑的问题 #471
- Lua传递给蓝图的FName属性中文会乱码 #474
- 传递给Lua模块的
...
参数没有生效 - 退出PIE时父类被覆写的UFunction没有还原
- UE4命名空间的兼容开关没生效
- Editor下PIE判断不准确 #468
- 真机上UnLuaExtensions模块启动比UnLuaModule晚,导致luasocket没有加载 #484
- 调用静态导出函数的
TCHAR*
类型参数传递为空 #486
Changed
- 移除
UnLua.lua
,UnLua
可作为全局对象访问,不需要require "UnLua"
了
Assets 2
3 people reacted
2.2.2
Compare
Added
- 优化绑定检测流程,避免在大量对象创建时导致性能降低 #457
- 通过菜单快速在文件管理器中打开绑定的Lua文件 #437
- 防止Lua代码无限循环超时设置 #428
- 支持添加多播代理绑定相同脚本不同对象实例函数 #439
- 更准确的内存分配统计
lua.gc
控制台命令- UnLua 运行时/编辑器设置的子菜单
- 编辑器设置支持中文显示
Fixed
- 命令行
-server
启动时UnLuaModule
没有启动 #440 TArray
和TMap
进行pairs
遍历时使用引用而不是复制 #442- 实现了FTickableGameObject的对象在Tick里调用自身被Lua覆写的方法会崩溃 #446
- 返回
TSubclassOf<>
到C++为空 #445 - UE4.27下无法通过UE.XXX访问游戏项目模块中导出的原生类型 #448
- 从Lua按传递引用到蓝图的TArray引用变成了空Array #453
- PIE过程中如果保存了覆写的蓝图,会导致蓝图资源损坏 #465
- CDO绑定时需要过滤掉
SKEL
类型的对象 #460 - 分配在栈上的本地变量会引起
CacheScriptContainer
缓存错误导致崩溃 #455 - 热重载时报
invalid TArray/TMap
的错误 - PIE过程中如果保存了覆写的蓝图,会导致蓝图资源损坏 #465
- Linux下带Editor编译报错 #467
Assets 2
Previous Next
You can’t perform that action at this time.