【Unity开发】热更新学习——HybridCLR框架

一、HybridCLR框架介绍

官方手册:https://www.hybridclr.cn/docs/intro

总结:HybridCLR可以将热更代码编译成.dll,并且会自动补充元数据。可以通过该框架去更新原本的代码内容。

二、热更流程

三、注意事项

1、使用热更新代码中没有定义,并且AOT代码中没有实例化过的某个泛型类或者函数时,需要补充元数据dll

不使用会出现以下报错:

2、补充元数据方法

(1)生成补充元数据

使用HybridCLR/Generate/AotDlls命令生成AOT dll,存放路径为{project}/HybridCLRData/AssembliesPostIl2CppStrip/{target}。

(2)执行补充元数据

csharp 复制代码
private static void LoadMetadataForAOTAssemblies()
    {
        List<string> aotDllList = new List<string>
        {
            "mscorlib.dll",
            "System.dll",
            "System.Core.dll", // 如果使用了Linq,需要这个
            // "Newtonsoft.Json.dll", 
            // "protobuf-net.dll",
        };

        foreach (var aotDllName in aotDllList)
        {
            byte[] dllBytes = File.ReadAllBytes($"{Application.streamingAssetsPath}/{aotDllName}.bytes");
            int err = HybridCLR.RuntimeApi.LoadMetadataForAOTAssembly(dllBytes, HomologousImageMode.SuperSet);
            Debug.Log($"LoadMetadataForAOTAssembly:{aotDllName}. ret:{err}");
        }
    }
相关推荐
你的保护色3 分钟前
数据库第一章-基础知识学习
数据库·学习
数智工坊11 分钟前
【ROS 2 全栈入门指南一】:从本质认知到环境搭建与核心原理解析
学习·机器人
大大杰哥29 分钟前
Vue2学习(1)--了解基本方法与概念
javascript·学习·vue
nashane36 分钟前
HarmonyOS 6商城开发学习:消息中心未读清零——@ObservedV2+@Trace驱动一键清除
学习·华为·harmonyos
Litluecat1 小时前
配合多角色提示语,学习AI漫剧(刚开始学)
人工智能·学习·机器学习·ai·提示词·漫剧
不知名的老吴1 小时前
Unity3D 2022安装教程及全流程下载步骤指南
unity·游戏引擎
Thomas_YXQ1 小时前
Unity3D Addressable 深度优化热更性能消耗
开发语言·3d·unity·微信
程序员也有头发1 小时前
如何使用AI工具开发Unity
unity·游戏引擎·ai编程
隔窗听雨眠1 小时前
从零开始的游戏开发入门指南
unity