ILRuntime热更方案坑点

Posted bright-king

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ILRuntime热更方案坑点相关的知识,希望对你有一定的参考价值。

ILRuntime热更方案坑点

在热更工程中:

1.AddComponent需要限定好类型,不能用Type类型,会报错

2.GetComponent无法获取基类组件类型,无法找到时,需要在MonoBehaviorAdapter中添加遍历获取基类逻辑
3.Hotfix调用Unity中带参数的委托,需要注册委托参 RegisterMethodDelegate
4.强转Action委托类型as报错,使用(Action)XXX的方式去转换
5.尽可能不过多使用特性,反射,容易出问题。
6.继承自MonoBehavior的脚本声明处初始化不起作用,需要在Awake中去初始化
7.ref out关键字谨慎使用,比如传递ref/out 静态变量时,会报错。
8.Json解析必须要使用集成的LitJson库
9.重写父类方法时,不能使用virtual关键字,否则会执行两次,要使用override

10.Awake方法在AddComponent组件时调用一次,不论节点是否显示。此时需要在MonoBehaviorAdapter中加一层判断来规避此情况。

11.协程无法使用字符串启动,只支持参数为IEnumerator类型的方式启动或停止协程
12.ILRuntime不支持proto2,需要换成proto3,同时由于ILRuntime不认为ILRT里面跑的数据类型是枚举,导致无法把默认值转换为枚举,不能使用枚举(比如消息类型)

以上是关于ILRuntime热更方案坑点的主要内容,如果未能解决你的问题,请参考以下文章

Unity 接入 ILRuntime 热更方案

解析ET6接入ILRuntime实现热更

unity热更新新方案,ILRuntime

Unity 3D模型展示框架篇之Addressables+ILRuntime热更(完结篇)

Unity ILRuntime热更新开发原则与接口如何绑定

unity-ilruntime热更新