ILRunTime热更新使用细节汇总(持续更新)


0.官方的注意事项

1.不要用nullable

2.尽量不要用foreach,原理限制,有gc。一般嵌套task或者foreach里多次await容易出现代码执行不到的情况

3.不要用struct,struct在ILRuntime里,如果作为成员变量,性能比class更低。struct不能双层嵌套(值类型在VM里装箱,双层嵌套要两层寻址,目前无法两层寻址)

4.热更里try catch的话,需要取ex.Data["StackTrace"]和ex.Data["Message"]

5.别人的细节汇总:

6.显式实现 和 隐式实现的方法同名时,会执行隐式实现的方法

7.使用ILRuntime遇到的一些问题 - 知乎 (zhihu.com)

8.启动和关闭协程放在主工程中,参照官方demo

9.发布时在ProjectSetting添加宏DISABLE_ILRUNTIME_DEBUG,可屏蔽来自ILRunTime的Log

10.热更层中挂在gameObject的继承MonoBehaviour的脚本上有动画关键帧事件可在MonoBehaviour适配器上添加相应的适配方法

11.若有多个热更dll,可只用一个Appdomain,只需用命名空间将多个dll生成的clr绑定区分即可

12.ILRunTime热更层断点注意事项: