Unity 使用ilruntime热更方案的经验和心得

使用ilruntime的建议

如何做可以避免很多坑

1.不跨区域继承

2.热工工程不继承MonoBehaviour

游戏里面绝大部分逻辑基本不用继承MonoBehaviour,如果需要MonoBehaviour的脚本可以放到主工程,例如角色要使用ik,碰撞器检测,资源加载之类的unity相关接口,完全可以当做一个组件放主工程,剩余的逻辑都放在热更工程里面,包括系统,协议,战斗

可以参考作者已经上线的游戏就是这种做法

完全可以理解为

主工程:给热更工程使用unity相关组件和自定义组件的功能,就是和unity交互的

热更工程:就是绝大部分逻辑

按照这种思路可以避免绝大部分坑,因为现在很多项目都是只有一个MonoBehaviour驱动整个游戏,所以这种思路做游戏坑比较少

3.不要使用linq的语法

只要不跨区域和继承MonoBehaviour,热更工程和平常写的c#逻辑一样,而且遇坑更少

4.protobuf的选用,直接使用protobuf3,速度更快,而且有别人已经改好的,支持ilruntime

我之前配置和协议使用protobuf net,用了ilruntime之后全部改成protobuf3.0,改起来都还好只是部分语法和接口不同

5.json:使用ilruntime改好过的litjson

 

关于lua和ilruntime

相对lua来说ilrt访问unity相关接口比较快,对于计算lua就比较快

对于绝大部分项目来说逻辑运算占不到5%性能,主要的性能消耗都是unity的接口

我比较推荐使用ilruntime,毕竟已经有成功项目

万一以后苹果不给热更代码热更,ilruntime改回来也非常快

 

发布了64 篇原创文章 · 获赞 37 · 访问量 5万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览