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

这篇具有很好参考价值的文章主要介绍了[Unity实战][C#实战]HybridCLR(wolong)卧龙C#热更框架v2.0.x-Unity2020.3.21f1。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.官方文档

[Unity实战][C#实战]HybridCLR(wolong)卧龙C#热更框架v2.0.x-Unity2020.3.21f1,[Unity],[开源工具/其他],unity,c#,游戏引擎
官网介绍
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

[Unity实战][C#实战]HybridCLR(wolong)卧龙C#热更框架v2.0.x-Unity2020.3.21f1,[Unity],[开源工具/其他],unity,c#,游戏引擎
安装好后如图出现插件选择,继续点击Installer
[Unity实战][C#实战]HybridCLR(wolong)卧龙C#热更框架v2.0.x-Unity2020.3.21f1,[Unity],[开源工具/其他],unity,c#,游戏引擎
安装基础的build工具包
[Unity实战][C#实战]HybridCLR(wolong)卧龙C#热更框架v2.0.x-Unity2020.3.21f1,[Unity],[开源工具/其他],unity,c#,游戏引擎

2.3加入测试的代码

[Unity实战][C#实战]HybridCLR(wolong)卧龙C#热更框架v2.0.x-Unity2020.3.21f1,[Unity],[开源工具/其他],unity,c#,游戏引擎

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

[Unity实战][C#实战]HybridCLR(wolong)卧龙C#热更框架v2.0.x-Unity2020.3.21f1,[Unity],[开源工具/其他],unity,c#,游戏引擎选择全平台然后打包
[Unity实战][C#实战]HybridCLR(wolong)卧龙C#热更框架v2.0.x-Unity2020.3.21f1,[Unity],[开源工具/其他],unity,c#,游戏引擎
复制到目录下的Resources文件夹下
[Unity实战][C#实战]HybridCLR(wolong)卧龙C#热更框架v2.0.x-Unity2020.3.21f1,[Unity],[开源工具/其他],unity,c#,游戏引擎
改名如图
[Unity实战][C#实战]HybridCLR(wolong)卧龙C#热更框架v2.0.x-Unity2020.3.21f1,[Unity],[开源工具/其他],unity,c#,游戏引擎

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

选中所有的,等于完全不开启ScriptsHotfix在Editor中的运行
[Unity实战][C#实战]HybridCLR(wolong)卧龙C#热更框架v2.0.x-Unity2020.3.21f1,[Unity],[开源工具/其他],unity,c#,游戏引擎
此时运行如图
[Unity实战][C#实战]HybridCLR(wolong)卧龙C#热更框架v2.0.x-Unity2020.3.21f1,[Unity],[开源工具/其他],unity,c#,游戏引擎
此时看图,一次是2一次是3,这样就实现了简单模拟热更了
[Unity实战][C#实战]HybridCLR(wolong)卧龙C#热更框架v2.0.x-Unity2020.3.21f1,[Unity],[开源工具/其他],unity,c#,游戏引擎

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模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ET7.2+最新版本HybridCLR(huatuo、wolong)热更教程2

    距离《ET7.0+HybridCLR(huatuo)热更教程》这篇教程时间过了两个多月了,特别HybridCLR版本迭代很快,ET官方也升级到最新的7.2版本了。很多工具流都变了,因此用最新的ET版本重新跑了接入HybridCLR流程,记录一些变动操作内容,文章结尾附带github完整的项目工程。 首先去官网下载最

    2023年04月10日
    浏览(31)
  • Unity之如何接入HybridCLR(代号wolong,原huatuo)热更新框架

    HybridCLR(代号wolong)是一个特性完整、零成本、高性能、低内存的近乎完美的Unity全平台原生c#热更方案。 官方提供了完整的教程:HybridCLR快速上手 官方还提供了一个简易的小Demo,演示了如何使用HybridCLR实现热更新。hybridclr_trial 官方文档其实已经非常详细了,我写本文目的主要

    2024年02月12日
    浏览(39)
  • 【Unity实战】HybridCLR热更快速集成

    本文假设你已经通过UPM导入了HybridCLR、Addressables、il2cpp支持并具有一定的C#基础和Unity编辑器操作能力。 由于本文主打快速集成,故将Assembly-CSharp划入到热更新DLL。 理论上成熟的项目应该用Assembly Definition进行精细划分以便于管理和缩短编译时间。但是若掌握不好,划分不明白

    2024年02月03日
    浏览(46)
  • Unity 之 Addressable可寻址系统 -- HybridCLR(华佗)+Addressable实现资源脚本全热更 -- 实战(二)

    在Unity中,结合 Addressable Asset System (简称:AA)和 HybridCLR 来实现热更新资源和脚本的控制。 AA 是Unity的一个强大的资源管理系统,可以用于动态加载和更新资源。HybridCLR是一个用于在Unity中运行C#脚本的工具,可以实现热更新脚本的功能。 使用版本: Unity 2022.3.8 Addressables 1.21

    2024年01月24日
    浏览(61)
  • GameFramework 框架详解之 如何接入热更框架HybridCLR

    HybridCLR是一个特性完整、零成本、高性能、低内存的近乎完美的c#热更新方案 GameFramework是一个非常出色完整的基于Unity引擎的游戏框架,里面包含了非常多的模块,封装非常完整。 以前市面上的热更大多数都是Lua为主,后来出了一个ILRuntime的C#热更框架,虽然性能差了点,但

    2024年02月07日
    浏览(45)
  • Unity热更模块基于 HybridCLR + Addressable

    代码地址: GitHub - ManoKing/FFramework: 基于HybridCLR + Addressable的热更新框架,提供例子基于QFramework+URP开发 基于HybridCLR + Addressable的热更新框架,提供例子基于QFramework+URP开发 - GitHub - ManoKing/FFramework: 基于HybridCLR + Addressable的热更新框架,提供例子基于QFramework+URP开发 https://github.

    2023年04月14日
    浏览(43)
  • Unity + HybridCLR,近乎完美的新热更方案,从零开始(一)——Hello World

    最近又新接触了一种unity热更的解决方案——HybridCLR,自称是: 特性完整、零成本、高性能、低内存的近乎完美的Unity全平台原生c#热更方案 。 接下来我们就来一起学习下。 下面是官方文档的链接,一切以官方为主:HybridCLR HybridCLR扩充了il2cpp的代码,使它由纯AOT runtime变成

    2024年02月07日
    浏览(43)
  • 【Unity3D热更新】Unity3D 零成本、高性能的C#的热更新框架:HybridCLR

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 大家好,我是佛系工程师 ☆恬静的小魔龙☆ ,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 相信只要做过热更新的小伙伴,都被热更新搞过心态吧。 我有一个小伙伴,本来是面向

    2024年01月16日
    浏览(49)
  • HybridCLR(代号wolong)/huatuo新一代热更新方案

      huatuo 现已改名 HybridCLR, 而原来的huatuo仓库由途游接着维护 本文章主要以HybridCLR仓库为例说明:focus creative games(代码哲学) · GitHub  hybridclr  仓库为核心仓库  il2cpp_plus 仓库为改造过的il2cpp仓库添加解释核心仓库的代码指令  hybridclr_trial 仓库为示例仓库 在此之前,我们先了解

    2024年02月03日
    浏览(35)
  • HyBridCLR(华佗热更)踩坑记录

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

    2024年01月25日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包