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 update
void Start()
{
Debug.Log("Hello!");
}
// Update is called once per frame
void Update()
{
}
void LoadDll(){
// 从 Resources 加载 .bytes 文件中的字节数组
byte[] bytes = Resources.Load<TextAsset>("ScriptsHotfix.dll").bytes;
Assembly assembly = Assembly.Load(bytes);
Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
Assembly ass = AppDomain.CurrentDomain.GetAssemblies().First(assembly => assembly.GetName().Name == "ScriptsHotfix");
// 通过反射加载 DLL
Type 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,这样就实现了简单模拟热更了
文章来源:https://www.toymoban.com/news/detail-614316.html
4.Github
Github文章来源地址https://www.toymoban.com/news/detail-614316.html
5.TODO-Assetbundles/安卓下载+替换热更dll实现完全热更
到了这里,关于[Unity实战][C#实战]HybridCLR(wolong)卧龙C#热更框架v2.0.x-Unity2020.3.21f1的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!