在 GitHub 遇到個奇怪的現象:我發(fā)現在 Unity 官方提供了 AddressableAssetSystem 的情況下,國內還是有好多小伙伴熱衷于搭建自己的資源熱更框架
尊重從肯定他人的努力開始,存在即是有道理,閑話少敘,盤起來:
XAsset
xasset 讓 Unity 快速打包和運行。

Reference:
https://github.com/xasset/xasset - 開源版
https://xasset.pro/ - 商業(yè)版
https://www.xasset.pro/docs/getstarted - 文檔
TinaX.VFS
Virtual Files System - Assets management service package for TinaX Framework to Unity
虛擬文件系統(tǒng),無感知的AssetBundle管理

Reference:
https://github.com/yomunsam/TinaX.VFS
QFramework.ResKit
Unity 開發(fā)框架 QFramework 的內建資源管理模塊

Reference:
https://github.com/liangxiegame/ResKit
Game Framework.Resource
Unity 開發(fā)框架 Game Framework 內建的一套完整的異步加載資源體系(僅保留異步加載資源的接口)。

Reference:
Game Framework.Resource
Game Framework.Resource 文檔
KSFramework-ResourceModule
KSFramework(KEngine)是一個用于Unity3D引擎的AssetBundle框架。核心資源模塊 ResourceModule 為AssetBundle 的資源加載、打包提供完整的一套工程規(guī)范,減少在項目開發(fā)過程中踩坑的時間

Reference:
KSFramework-ResourceModule
https://mr-kelly.github.io/KSFramework/resource/guide/ - 文檔
BundleMaster
JEngine 集成的 AssetBundle 資源加載大師,有愛的 B站Up主,最近持續(xù)更新中。
Reference:
https://github.com/mister91jiao/BundleMaster
https://www.unitybundlemaster.com
B站 : https://www.bilibili.com/video/BV19341177Ek
CatAsset
Unity AssetBundle資源管理框架,提供了打包,更新,加載的一站式資源管理 - 筆者按:名字怪萌的

zcode-AssetBundlePacker
Unity的AssetBundle模塊擴展插件,主要目的用于簡化AssetBundle打包,提供AssetBundle管理,支持熱更新、支持資源包下載、支持版本控制。
YooAsset
YooAsset是一個基于Unity3D引擎的資源管理插件,途游提供技術實現與支持,目前正在快速迭代中。

Reference:
ABSystem

Reference:
https://github.com/tangzx/ABSystem
AssetBundleLoadManager
- 基于索引計數與對象綁定的AssetBundle加載管理簡易框架。(參考: tangzx/ABSystem思路)
- 集成導表工具框架
- 集成資源熱更以及版本強更框架

fuxi (伏羲)
- 使用配置文件管理, 不同平臺不同配置
- 一鍵 打包, 自動分析冗余,支持 分包及分包下載,支持加密
- 支持 同步 異步加載資源
- 支持全量、分包更新, 邊玩邊下;支持多線程&斷點續(xù)傳
- 支持 資源 引用 動態(tài) 分析
提供了一套編輯器工具,看著就很用心吖:
Reference
fuxi(伏羲)
UnityResourceSolution
來自 夜鶯-killop 的解決方案,聲稱寫了yooasset的編輯器部分,和運行時的底層加載邏輯,業(yè)務層和yooasset保持一致,這個網友可不簡單,超級活躍。
- 支持邊玩邊下載資源
- 完備的基于tag的資源管理系統(tǒng),一個資源多個tag
- 按照目錄結構更新
- 文件不以hash結尾
- 全網唯一支持二次打包的系統(tǒng),根據第一次打包的結果,自動優(yōu)化ab大小,io數量。在零冗余和減少IO之間取得一個適當的平衡,相信我,用了它你會起飛的
- 優(yōu)化并且擴展了smart-library 打造了一個優(yōu)美的打包資源收集系統(tǒng)
- 支持 AssetBundleBrowser
- 無狀態(tài)多版本管理系統(tǒng)
- binary diff,保證多版本之間最小更新體積
- shader變體收集工具
- shader變體裁剪工具
- 動畫任意長度裁剪工具
- 動畫屬性綁定失敗糾正和報錯工具
- 材質多余屬性剔除工具
https://github.com/killop/UnityResourceSolution
WooAsset
來自 編輯器奇才水蜜桃同學的資源管理框架,特性豐富、文檔完善,項目更新活躍,Woo ≈ 喔,驚呆的意思,哈哈!
特性太多,摘錄部分,更多請查閱文檔。
- 一個簡單、高效、易擴展的 AssetBundle管理工具
- Editor、Runtime均支持同步、異步、委托、攜程
- 支持分布式構建(支持mod)
- 支持自定義資源加密
- 支持 shader 變體收集
- 支持webgl
- 支持打包報告
- 支持打包流程自定義(自定義分包、版本規(guī)劃、結束流程、自定義標簽等)
- 包含本地資源服務器
- 支持快速版本切換,回退
- 支持歷史版本找回

外國友人
https://github.com/kamanii24/AssetBundleManager

https://github.com/SadPandaStudios/AssetBundleManager - Yet another asset bundle manager for Unity.
寫在最后:
- 三人行必有我?guī)熝桑蠹铱纯从心居薪梃b得地方。
- 資源熱更框架都逃不過 Unity AssetBundle 那一套,大家做輪子也就是實現各自的基于 AssetBundle 的工具鏈,包括但不限于:
編輯器方面:
- 完善的 Editor AB 開發(fā)工作流,所有操作有可視化窗口
- 有 self-host 測試環(huán)境,支持 Editor 下直接 AB 模擬加載
規(guī)則方面:
- 資源加密
- 設計分包策略,預設優(yōu)化規(guī)則,保證不重復打包
- 包體依賴關系整理
客戶端加載:
- 版本更新邏輯、資源檢測 、增量下載,邊下邊玩
- 多線程下載、斷點續(xù)傳
- 依賴加載,引用計數
- async / await 異步語法糖(Coroutine 也挺好)
- 其實,我還是很看好 Addressable Asset System,上面列舉的特性都有了,而且Unity 正在搭建自己的生態(tài)環(huán)境,再配合 UniTask 實現異步當同步寫...值得更多關注.
