翼度科技»论坛 编程开发 .net 查看内容

[使用目前最新版]HybridCLR6.9.0+YooAsset2.2.4实现纯C# Unity热更新方案 (

4

主题

4

帖子

12

积分

新手上路

Rank: 1

积分
12
1.前言


  • 什么是热更新
    游戏或者软件更新时,无需重新下载客户端进行安装,而是在应用程序启动的情况下,在内部进行资源或者代码更新
  • Unity目前常用热更新解决方案
    HybridCLR,Xlua,ILRuntime等
  • Unity目前常用资源管理解决方案
    AssetBundles,Addressable,YooAsset等
在这里我们采用HybridCLR+YooAsset的方案进行热更新
(不建议Addressable方案资源管理,个人感觉坑有亿点多)
2.创建开发环境

这里使用VS2022,Unity编辑器版本为2022.3.20f1cf1
3.安装HybridCLR


  • 首先需要在Unity Hub中为编辑器安装Windows Build Support (IL2CPP)


  • 在主菜单中点击 窗口/包管理器/+/添加来自 git URL 的包
    填https://gitee.com/focus-creative-games/hybridclr_unity.git


  • 在Assets目录下创建"Scenes","Scripts","YooAssset"三个文件夹

  • 在Scenes文件夹创建Main屏幕(右键/创建/场景),双击打开
  • 在场景里创建一个空对象

  • 然后在Scripts文件夹创建文件ConsoleToScreen.cs(用途是输出日志)
[code]using System.Collections.Generic;using UnityEngine;public class ConsoleToScreen : MonoBehaviour{    const int maxLines = 50;    const int maxLineLength = 120;    private string _logStr = "";    private readonly List _lines = new();    public int fontSize = 15;    void OnEnable() { Application.logMessageReceived += Log; }    void OnDisable() { Application.logMessageReceived -= Log; }    public void Log(string logString, string stackTrace, LogType type)    {        foreach (var line in logString.Split('\n'))        {            if (line.Length

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具