[使用目前最新版]HybridCLR6.9.0+YooAsset2.2.4实现纯C# Unity热更新方案 (
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(用途是输出日志)
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
页:
[1]