跳到主要内容

快速开始

一、官方教程

快速上手
示例项目

二、准备工作

Unity2023.2.10f1 + macOS

  • Windows -> Package Manager -> Install package from git URL (填入以下任一地址)
  • HybridCLR -> Installer...
  • HybridCLR -> Settings...
    • 1.创建目录:Assets/Game/Script/HotUpdate
    • 2.步骤1目录下创建程序集:HotUpdate
    • 3.打开界面的热更新Assembly Definitions条目,添加步骤2创建的HotUpdate程序集
    • 4.打开界面的补充源数据AOT dlls条目,添加:mscorlibSystemSystem.Core
  • Edit -> PlayerSettings -> Player -> Other Settings -> Configuration
    • 如果使用的HybridCLR低于v4.0.0,需要关闭'Use Incremental GC'选项。(使用的v6.1.0,没关)
    • Scripting Backend 切换为 IL2CPP
    • Api Compatibility Level 切换为 .Net 4.x(Unity2019-2020)或者 .Net Framework(Unity2021+)

三、特性说明

  • 支持完全的脚本热更,热更脚本挂载的资源必须打成AssetBundle再去使用
  • 泛型使用
    • 热更新中定义的泛型类或函数:直接使用
    • AOT中定义的泛型类或函数
      • 在AOT代码添加相应的实例化代码,不推荐
      • 补充元数据
        • 打包过程生成的裁剪后AOT dll可用于补充元数据,路径:'project'/HybridCLRData/AssembliesPostIl2CppStrip/'target'
        • HybridCLR/Generate/AotDlls可立即生成裁剪后AOT dll
      • full generic sharing:商业化版本提供
  • HybridCLR.RuntimeApi.LoadMetadataForAOTAssembly,在执行任何热更新代码前,补充一次元数据即可
  • 打包的平台,如果是Standalone,比如:Window、Mac、Linux,则必须安装其对应的IL2CPP模块
  • 如果Assembly-CSharp作为AOT程序集,那么需要勾选掉auto reference,防止引用了其他热更新程序集导致问题

四、热更实战

编辑模式测试
EditorTest.mp4

macOS发布测试
macOS release test.mp4