Unity热更新技术选择

Unity热更新技术选择

最近找工作,发现很多公司都需要用Lua,本身我也用过Lua,虽然是写一些按键精灵之类的脚本时用的。

我之前是学java的,java的热更新方法有两种,热加载、热部署。

热加载:不停服务器进行热更新,但如果重新加载可能会导致数据丢失,因此采用只更新方法。

热部署:通过一个线程将所有class文件进行更新后重启应用,更新内容不受限制,但需要短暂关闭服务器。

对于Unity而言,如果是桌面应用,应该可以支持整个版本对照更新,但对于移动端的处理,便不是太清楚。

网上查看的方案有dll文件转为byte进行动态加载(iOS不支持),通过将部分代码逻辑在脚本(lua、js)里写,再由dll去解析文件。

其unity实现的方案都不是很完美,对于开发而言,都增加其学习成本(我都在怀疑Unity是不是最好的选择了,热更新可能是用Unity做开发一直困扰的问题)

使用 IL2CPP 构建项目时所采取的自动步骤的图表

Lua热更新方案

ulua、tolua、xlua、slua、cs2lua等

DLL热更新方案

ILRuntime

其他热更新方案

Apple Juice(js)

JSBinding+SharpKit(C#转Js)

InjectFix(直接在Unity工程上修改C#即可更新)

其他游戏引擎热更新方案

CocosCreator热更新

ue4

写在最后,unity是个好工具,但不完美。但愿能多用几年。

posted @   LDnanchao  阅读(444)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示