{"id":14960796,"url":"https://github.com/bian-sh/assemblies-hotfix-toolkit-unity","last_synced_at":"2025-08-02T02:34:47.990Z","repository":{"id":37306088,"uuid":"488727040","full_name":"Bian-Sh/Assemblies-Hotfix-Toolkit-Unity","owner":"Bian-Sh","description":"Assemblies hotfix with unity addressable , for windows and android  , both mono and IL2CPP scripting backend,IL2CPP hotfix powered by wolong(HybridCLR)","archived":false,"fork":false,"pushed_at":"2022-09-15T05:46:10.000Z","size":4096,"stargazers_count":172,"open_issues_count":1,"forks_count":28,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-09-24T11:02:17.982Z","etag":null,"topics":["addressables","hotfix","huatuo","hybridclr","il2cpp","mono","unity","unity-editor","wolong"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Bian-Sh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-05-04T19:59:22.000Z","updated_at":"2024-07-01T04:01:43.000Z","dependencies_parsed_at":"2023-01-17T14:34:57.397Z","dependency_job_id":null,"html_url":"https://github.com/Bian-Sh/Assemblies-Hotfix-Toolkit-Unity","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bian-Sh%2FAssemblies-Hotfix-Toolkit-Unity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bian-Sh%2FAssemblies-Hotfix-Toolkit-Unity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bian-Sh%2FAssemblies-Hotfix-Toolkit-Unity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bian-Sh%2FAssemblies-Hotfix-Toolkit-Unity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bian-Sh","download_url":"https://codeload.github.com/Bian-Sh/Assemblies-Hotfix-Toolkit-Unity/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219867815,"owners_count":16554365,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["addressables","hotfix","huatuo","hybridclr","il2cpp","mono","unity","unity-editor","wolong"],"created_at":"2024-09-24T13:23:01.987Z","updated_at":"2024-09-24T13:39:27.674Z","avatar_url":"https://github.com/Bian-Sh.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Assemblies-Hotfix-Toolkit-Unity\n\n这个工具为实现基于 Addressables 的无感知逻辑热更而作！\n本工具实现对用户指定的需要热更的程序集实施校验、转存以及打包过滤。\n有了本工具，留给用户只的操作只剩下：\n1. 拖入程序集\n2. 解决校验出来的错误\n3. 首次 force build 程序集\n\n# 预览\n\n|Editor|Rumtime|Some Errors|\n|:-:|:-:|:-:|\n|![](Packages/com.bshsf.hotfix-toolkit/Documentation~/images/editor.png)|![](Packages/com.bshsf.hotfix-toolkit/Documentation~/images/runtime.png)|![](Packages/com.bshsf.hotfix-toolkit/Documentation~/images/errors.png)|\n|热更程序集配置页面 | 运行时加载顺序排序与预览|编辑器下一些常见错误预览|\n\n\n# 功能\n下面简要的说明本工具功能：\n1. 对指定的热更程序集进行校验:\n \n      a. 引用框为空则警示\n  \n      b. 识别编辑器程序集并警示\n    \n      c. 识别被默认程序集引用并警示（默认程序集：Assembly-CSharp.dll，Assembly-CSharp-firstpass.dll）\n  \n      d. 如果热更程序集被引用，则展示被引用的程序集并提示需要修复\n  \n2. 热更程序集在 Addressables 打包时自动转存为 .bytes 文件并打包到 ab 中\n3. 将 .bytes 文件及其配置文件 自动加入 Addressables Group\n4. 对加载的程序集自动进行拓扑排序，保证程序集按正确的引用顺序加载\n\n![](Packages/com.bshsf.hotfix-toolkit/Documentation~/images/TSort.png)\n\n\n# 演示\n\u003e Editor 工作流演示\n \n![](Packages/com.bshsf.hotfix-toolkit/Documentation~/images/preview.gif)\n\n# 安装\n\n通过 git 链接安装：\n将url `https://github.com/Bian-Sh/Assemblies-Hotfix-Toolkit-Unity.git?path=Packages/com.bshsf.hotfix-toolkit` 拷贝并添加到 Package Manager\n\n![](Packages/com.bshsf.hotfix-toolkit/Documentation~/images/upm.png)\n\u003e 支持 Unity 版本：Unity 2020 及以上.\n\u003e \n\u003e 国内用户使用需要一些技巧，或者多试几次。\n\n# 使用\n1. 本工具依赖 Addressable，使用前请初始化 Addressables\n2. scripting backend ： mono 默认支持逻辑热更，适用于 PC 和 安卓\n3. scripting backend ： il2cpp 请先安装 huatuo 以支持全平台的逻辑热更。\n4. 拿本项目测试的同学请先清除 aa 相关缓存。\n5. 热更程序集处理流程：\n\u003e 对需要热更的模块添加 assembly definition file  \n\u003e \n\u003e 👉 拖入此 .asmdef（assembly definition file）文件到本工具 Editor 页面 \n\u003e \n\u003e 👉 解决可能出现的异常 \n\u003e \n\u003e 👉 新增 .asmdef 文件后需要点击下方“Assembly Force Build”按钮\n\u003e \n\u003e 👉 其余为工具自动操作：打 AA（Addressabls）自动转存 .bytes 文件，打app 自动剔除热更逻辑\n6. 热更测试流程：\n\u003e 👉 使用 Addressables Group 窗口打个首 AB 包\n\u003e \n\u003e 👉 使用 Build Settings 窗口打个首包,譬如：aa.exe\n\u003e\n\u003e 👉 修改热更程序集种的逻辑为自己想要输出的\n\u003e \n\u003e 👉 使用 Addressables Group 窗口打 Update  a previous build  打 ab 的更新包\n\u003e \n\u003e 👉 重启打包的应用即可看到修改的逻辑生效，至此热更演示完成！\n\n6. 友情提示：\n\n    a. il2cpp 逻辑热更需要深度学习一下相关的限制及应对措施(主要围绕类型裁剪)！\n    \n    b. mono 逻辑热更，Serializable Type 即便通过 inspector 赋值了，也无法在 ab 中正常使用，[👉 更多](https://forum.unity.com/threads/advanced-use-case-assetbundles-and-dynamically-loaded-assemblies.737183/)\n\n    c. 由于风云聚变，目前huatuo已经转变为 wolong ，且安装流程发生了变化，本工具判定 huatuo 安装与否的逻辑已经不适用 wolong ，注释掉逻辑即可 （后期我会将 wolong 安装也内嵌到本工具）。\n    d. hybridclr(wolong) 目前正在积极的开发一键部署工具，后面使用方式会更加简单，届时这个仓库也会同步更新、集成官方相关工作流。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbian-sh%2Fassemblies-hotfix-toolkit-unity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbian-sh%2Fassemblies-hotfix-toolkit-unity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbian-sh%2Fassemblies-hotfix-toolkit-unity/lists"}