基礎知識
官方地址: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)