- URS是一套unity资源管理方案,该方案把原始资源看作为一等公民,更新系统和ab系统完全分离。该方案包含了资源的导入,ab的导出,ab的热更新。这套方案涉及到了你在日常unity资源管理中的有可能遇到的方方面面
- URS的方向和初衷:争取在各个问题领域给出最好的答案
- 青霜的名字取自(腾蛟起凤,孟学士之词宗;紫电青霜,王将军之武库 --滕王阁序)
- 支持边玩边下载资源
- 完备的基于tag的资源管理系统,一个资源多个tag
- 按照目录结构更新
- 文件不以hash结尾
- 全网唯一支持二次打包的系统,根据第一次打包的结果,自动优化ab大小,io数量。在零冗余和减少IO之间取得一个适当的平衡,相信我,用了它你会起飞的
- 优化并且扩展了smart-library 打造了一个优美的打包资源收集系统
- 支持 AssetBundleBrowser
- 无状态多版本管理系统
- binary diff,保证多版本之间最小更新体积
- shader变体收集工具
- shader变体裁剪工具
- 动画任意长度裁剪工具
- 动画属性绑定失败纠正和报错工具
- 材质多余属性剔除工具
- 远程下载暂时用了比较稳健的besthttp插件,正在接入:https://github.com/bezzad/Downloader
- YooAsset URS运行时的代码,很大一部分来自 YooAsset
- 如果遇到任何问题:进qq群讨论:1067123079
里面用的收费插件,仅仅用做学习的目的,鼓励大家购买正版,不要随便传播收费插件
- 优化:在不同图片的后处理的时候,代码会跳过 原来图片size小于预设size的
- 优化:shader 预热 shader variant collection的导出(全网唯一支持 mutil_compiler 关键字预热的方案)
- 功能:所有的远程下载操作,都会放到临时目录,只要通过验证的,才可以进最终目录
- 功能:Share 资源的包名,会自动根据历史记录,固定下来,保证了 binary diff 的命中率
- 功能:包名固定下来之后,sbp的hash的命中率百分百命中
- 功能:增加版本日志功能,跟踪每次打包每个hash的命中情况
- 功能:在用assetdatabase加载资源的时候,也会检查资源的有效性,保证和手机端一样的加载流程,把找不到资源的bug,彻底堵死
- 优化:不在使用基于ScriptObject的配置方式,而是使用json的方式
- BUG:修复了运行时下载过程中 断了之后,第二次启动游戏重复下载的问题(运行时bug只此一个)
- 功能:版本管理增加数量限制,多余的版本会被删除
- 功能:第一个热更新界面,也可以做到更新自己了,全网只此URS支持,这一个特性
- 功能:重构了虚拟文件夹系统
- 功能:用户手机上任意删除本地文件的时候,更新系统通过开机自检保证资源数据的正确性
- 功能:一个渠道里面可以根据app-version-number定制自己的版本号
- 功能:增加CI脚本接口
- 优化:urs的帧率控制
- 优化:urs的在游戏重装下的策略:删除老旧的资源
- BUG:修正了多个bug