跳至主要內容

将 unity 嵌入 cocos - 实现 cocos 热更 unity

muzzik大约 2 分钟文章CocosCreatorUnityAndroid热更HybridCLR

前言

花了大概4天时间恶补 unity 热更的知识,说说自己的理解。
首先 unity 热更方式和 cocos 不太一样,unity 基本上是将热更分为了资源热更和脚本热更

资源热更:非脚本资源,可以使用 unity 自带的 AssetBundle 或者 Addressables

资源热更方案

直接使用 Addressables,没啥好说的,AssetBundle 的升级版

参考链接:

脚本热更方案

网上有大概三种热更方案,分别是

  • Lua
  • ILRunTime
  • HybridCLR

最终我选择了 HybridCLR,首先语言上,强类型比弱类型好,还有各种泛型机制。那么就剩下 ILRunTime, HybridCLR ,相比较 HybridCLR 性能更高,ILRunTime 热更泛型函数还比较麻烦

参考链接:

热更流程

网上的 HybridCLR 教程基本都不是对于 Unity 小白友好的,所以这里我说简单点

  • 新建一个空项目

  • 安装 Addressables,顶部菜单/窗口/包管理器

    搜到之后点击右下角的安装

  • 安装 HybridCLR,包管理器左上角+号/添加来自git URL的包

    包链接:https://github.com/focus-creative-games/hybridclr_unity.gitopen in new window

  • 初始化项目设置,顶部菜单/文件/生成设置/Build Settings面板左下角玩家设置
    选择安卓项目配置

    红框处为教程示例项目的自定义配置

  • Addressables 配置
    窗口/资产管理/addressables/profiles
    左上角 create 新建一个自定义的 android 分组
    .
    Local.BuildPath:bundle构建后输出路径
    Local.LoadPath:运行时资源加载路径,这里设置为从存储卡路径加载资源,所以我们就可以在 cocos 下载热更资源到这个路径中

    项目资源中选中红框资源

    右侧检查器按照红框设置

📣 觉得很赞?分享给你的朋友吧!