基础知识
官方地址:https://github.com/Ourpalm/ILRuntime
官方文档:https://ourpalm.github.io/ILRuntime/
文档Markdown源文件:请阅读 **ILRuntime\docs\source\src\ **下的源文件 比这个目录下的源文件新 **ILRuntime\Documents\ **,经过对比两个目录有小部分差异。
官方Unity3D热更例子工程:https://github.com/Ourpalm/ILRuntimeU3D/
ILRuntime肯定可以做到IOS的热更。
本文中的名词解释:
域 : 应用程序的上下文,可以理解为使用热更之后,在游戏中存在两个域,一个是游戏主程序,另一个是热更域。
CLR: Unity脚本(C#)的公共运行库,公共运行环境
Assembly-CSharp.dll: Unity脚本(C#)的编译成的dll,非特殊目录下的脚本都放在这个dll下。安卓下可通过反射获取方法和变量。
dll: 指热更工程生成的dll,和Unity主工程是两个不同的dll。
ILRuntime基本原理
ILRuntime热更流程
ILRuntime主要限制
ILRuntime启动调试
- ILRuntime建议全局只创建一个AppDomain,在函数入口添加代码启动调试服务
appdomain.DebugService.StartDebugService(56000)
运行主工程(Unity工程)
在热更的VS工程中 点击 - 调试 - 附加到ILRuntime调试,注意使用一样的端口
- 如果使用VS2015的话需要
Visual Studio 2015 Update3
以上版本
线上项目和资料
初音未来:梦幻歌姬 使用补丁方式:https://github.com/wuxiongbin/XIL
本文流程图摘自:ILRuntime的QQ群的《ILRuntime热更框架.docx》(by a 704757217)