[Unity实战][C#实战]HybridCLR(wolong)卧龙C#热更框架v2.0.x-Unity2020.3.21f1
创始人
2025-05-29 06:26:42

[Unity实战][C#实战]HybridCLR卧龙C#热更框架v2.0.x-Unity2020.3.21f1

    • 1.官方文档
    • 2.无缝简单接入
      • 2.1安装unity2020.3.21f1
      • 2.2安装HybridCLR
      • 2.3加入测试的代码
      • 2.4HybridCLR->CompileDll
    • 3.简单测试热更dll的效果
    • 4.Github
    • 5.TODO-Assetbundles/安卓下载+替换热更dll实现完全热更

1.官方文档

在这里插入图片描述
官网介绍
HybridCLR(代号wolong)是一个特性完整、零成本、高性能、低内存的近乎完美的Unity全平台原生c#热更方案。

HybridCLR扩充了il2cpp的代码,使它由纯AOT (opens new window)runtime变成‘AOT+Interpreter’ 混合runtime,进而原生支持动态加载assembly,使得基于il2cpp backend打包的游戏不仅能在Android平台,也能在IOS、Consoles等限制了JIT的平台上高效地以AOT+interpreter混合模式执行。从底层彻底支持了热更新。

HybridCLR开创性地实现了 Differential Hybrid Execution(DHE) 差分混合执行技术。即可以对AOT dll任意增删改,会智能地让变化或者新增的类和函数以interpreter模式运行,但未改动的类和函数以AOT方式运行,让热更新的游戏逻辑的运行性能基本达到原生AOT的水平。

2.无缝简单接入

2.1安装unity2020.3.21f1

unity官网

unityhub://2020.3.21f1/a38c86f6690f

2.2安装HybridCLR

官网安装详情

https://gitee.com/focus-creative-games/hybridclr_unity.git

在这里插入图片描述
安装好后如图出现插件选择,继续点击Installer
在这里插入图片描述
安装基础的build工具包
在这里插入图片描述

2.3加入测试的代码

在这里插入图片描述

MyScripts.cs

using System;
using System.Linq;
using System.Reflection;
using UnityEngine;public class MyScripts : MonoBehaviour
{private void Awake(){LoadDll();}// Start is called before the first frame updatevoid Start(){Debug.Log("Hello!");}// Update is called once per framevoid Update(){}void LoadDll(){// 从 Resources 加载 .bytes 文件中的字节数组byte[] bytes = Resources.Load("ScriptsHotfix.dll").bytes;Assembly assembly = Assembly.Load(bytes);Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();Assembly ass = AppDomain.CurrentDomain.GetAssemblies().First(assembly => assembly.GetName().Name == "ScriptsHotfix");// 通过反射加载 DLLType type = ass.GetType("MyHotfix");MethodInfo method = type.GetMethod("Version");int version = (int)method.Invoke(null, null);Debug.Log(version);}
}

可以修改的MyHotfix.cs --> 一次是2一次是3,自己改下就行了

public class MyHotfix
{public static int Version(){return 3;}public static void Main(){UnityEngine.Debug.Log("Hello,Hotfix3!");}
}

2.4HybridCLR->CompileDll

在这里插入图片描述选择全平台然后打包
在这里插入图片描述
复制到目录下的Resources文件夹下
在这里插入图片描述
改名如图
在这里插入图片描述

3.简单测试热更dll的效果

选中所有的,等于完全不开启ScriptsHotfix在Editor中的运行
在这里插入图片描述
此时运行如图
在这里插入图片描述
此时看图,一次是2一次是3,这样就实现了简单模拟热更了
在这里插入图片描述

4.Github

Github

5.TODO-Assetbundles/安卓下载+替换热更dll实现完全热更

相关内容

热门资讯

cad打印线条粗细设置 cad... 004-线型(下)打印样式设置和线型文件使用一、线宽设置方法制图规范里边的线宽要求,我们已经定义好,...
荼蘼什么意思 岁月缱绻葳蕤生香... 感谢作者【辰夕】的原创独家授权分享编辑整理:【多肉植物百科】百科君坐标:云南 曲靖春而至,季节流转,...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
阿西吧是什么意思 阿西吧相当于... 即使你没有受到过任何外语培训,你也懂四国语言。汉语:你好英语:Shit韩语:阿西吧(아,씨발! )日...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...