自HybridCLR热更方案出现以来,像之前的主流toLua/xLua/ILRuntime瞬间不香了,算是跨世代的产物引起业界不小的轰动。HybridCLR是一个特性完整、零成本、高性能、低内存的近乎完美的Unity全平台原生c#热更新解决方案。想要详细了解HibirdCLR原理和使用的,可以去官网看下:商业项目案例 | HybridCLR
1.检查安装HybridCLR支持的Unity版本,必须安装IL2CPP模块。
2.检查安装开发工具VS及编译环境配置
3.项目工程安装HybridCLR插件包,点击Windows/Package Manager
打开包管理器如下图所示点击Add package from git URL...
,填入https://gitee.com/focus-creative-games/hybridclr_unity.git
4. 初始化HybridCLR:菜单HybridCLR/Installer...
, 点击安装
按钮进行安装。
自此项目集成HybridCLR热更方案的工作已完成,接下来需要做一些配置。
5.配置PlayerSettings,注意事项如下
6.配置HybridCLR,点击菜单 HybridCLR/Settings
打开配置界面,
7.配置完成后,接下来是创建dll、划分哪些作为热更dll/哪些作为AOT dll、设置热更dll对AOT dll的引用、对AOT dll文件进行裁剪等,最终导入到热更资源目录里以.byte格式。然后项目启动时加载所有的dll文件(包括热更、AOT),然后正常使用。
操作步骤:
1)创建热更dll,并指明其引用的其他dll
2)
2) 配置定义哪些是热更dll,哪些是AOT dll
3) 编译游戏项目dll文件,点击CompileDll,生成路径
4) 扫描热更dll,获得其调用AOT dll的泛型类或函数,并进行裁剪优化,并输出到特定目录下。点击Generate/All
5)检查配置漏掉的,补充元数据dll,根据生成AOT GenericReferences脚本文件
6)点击Build/BuildAssets And CopyTo Assembly TextAssetPath。
如果没反应,检查是否有点击Define Symbols/Enable HyBridCLR 和勾选Settings里的Enable选项。
8.游戏启动加载dll文件,读者可自行阅读ProcedureLoadAssembly.cs脚本
自此关于TEngine框架集成的HyBridCLR代码热更方案讲解告一段落,读者可以去官网或者阅读项目源码进一步熟悉。