HybridCLR + Addressable 热更新篇(一)

目录


前言

随着移动互联网和游戏行业的快速发展,热更新技术变得越来越重要。热更新能够在不重新发布应用的情况下更新内容和功能,提高了开发效率和用户体验。本篇将介绍如何使用HybridCLR和Addressable实现Unity项目的热更新。


一、HybridCLR 和 Addressable 是什么?

1. HybridCLR

HybridCLR 是一个轻量级、高性能的Unity热更新方案,它允许你在不重新打包应用的情况下动态加载和执行新的C#代码。这对于需要频繁更新的应用尤其重要,如游戏和大型企业应用。

2. Addressable

Addressable 是Unity提供的资源管理系统,可以简化资源的加载和管理。它通过为资源分配地址来实现异步加载,并支持分包和远程资源加载,非常适合与HybridCLR结合使用以实现热更新。

二、使用步骤

1.HybridCLR导入

1.1 进入HybridCLR官网 https://hybridclr.doc.code-philosophy.com

1.2 安装 com.code-philosophy.hybridclr 包

主菜单中点击Windows/Package Manager打开包管理器。

如下图所示点击Add package from git URL...,

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

https://github.com/focus-creative-games/hybridclr_unity.git。

2.HybridCLR配置

2.1 安装HybridCLR

2.2 创建程序集

创建一个文件夹,然后创建程序集

2.3设置热更新的程序集

2.4 配置PlayerSettings

  • 如果你的com.code-philosophy.hybridclr版本低于v4.0.0,需要关闭增量式GC(Use Incremental GC) 选项。自v4.0.0起已经支持增量式GC,可以开启这个选项。

  • Scripting Backend 切换为 il2cpp, WebGL平台不用设置此选项。自v2.4.0起,会自动设置此选项,可以不用手动执行此操作。

  • Api Compatability Level 切换为 .NetFramework 4(Unity 2019、2020) 或 .Net Framework(Unity 2021+)。

3.Addressable导入

首先,打开Unity项目并按照以下步骤安装Addressable包:

  1. 打开Unity Editor。
  2. 进入菜单栏,选择 Window > Package Manager。
  3. 在Package Manager窗口中,点击左上角的 + 按钮,然后选择 Add package from git URL...。
  4. 在弹出的对话框中输入 com.unity.addressables,然后点击 Add 按钮。

4.Addressable配置

4.1 创建Addressable分组

相关推荐
寂寞的船10 小时前
【Unity Bug挑战】第12期 Awaitable 二次 await 死锁之谜 —— 为什么同一个异步操作等两次就卡死?
unity·c#·游戏引擎·bug
探求虚无2 天前
用 AI 在 Unity 里做一款 RTS:最难的不是生成代码,而是证明它真的能玩
人工智能·unity·游戏引擎
17岁的勇气3 天前
Unity Shader unity文档学习笔记(二十二):shader变体
笔记·学习·unity
寂寞的船4 天前
【Unity知识速递】第10期 Unity GC 零分配实战:从 UnityEngine.Pool 到手动 GC 控制的全链路优化
jvm·unity·c#·游戏引擎·lucene
寂寞的船6 天前
【Unity知识速递】第8期 IL2CPP 托管堆内存碎片与原生堆交互机制深度解析
unity·游戏引擎·交互
寂寞的船6 天前
【Unity知识速递】第5期 Unity 6.2 深度解析:AI Assistant 登场,World Space UI 与 Sentis 全面升级
人工智能·ui·unity
寂寞的船7 天前
【Unity知识速递】第4期 MCP for Unity:用 AI 自然语言控制编辑器
人工智能·unity·编辑器
淡海水7 天前
09-04-内存-Unity原生对象生命周期
unity·c#·游戏引擎·gc
寂寞的船7 天前
【Unity知识速递】第6期 URP性能优化完全指南:从内存到GPU的三维调优
unity·性能优化·编辑器
寂寞的船7 天前
【Unity Bug挑战】第10期 SerializeReference 内存泄漏之谜
unity·c#·游戏引擎·bug