Skip to content

killop/UnityResourceSolution

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

青霜-Unity-Resource-Solution

描述

  • URS是一套unity资源管理方案,该方案把原始资源看作为一等公民,更新系统和ab系统完全分离。该方案包含了资源的导入,ab的导出,ab的热更新。这套方案涉及到了你在日常unity资源管理中的有可能遇到的方方面面
  • URS的方向和初衷:争取在各个问题领域给出最好的答案
  • 青霜的名字取自(腾蛟起凤,孟学士之词宗;紫电青霜,王将军之武库 --滕王阁序)

特点

  • 支持边玩边下载资源
  • 完备的基于tag的资源管理系统,一个资源多个tag
  • 按照目录结构更新
  • 文件不以hash结尾
  • 全网唯一支持二次打包的系统,根据第一次打包的结果,自动优化ab大小,io数量。在零冗余和减少IO之间取得一个适当的平衡,相信我,用了它你会起飞的
  • 优化并且扩展了smart-library 打造了一个优美的打包资源收集系统
  • 支持 AssetBundleBrowser
  • 无状态多版本管理系统
  • binary diff,保证多版本之间最小更新体积
  • shader变体收集工具
  • shader变体裁剪工具
  • 动画任意长度裁剪工具
  • 动画属性绑定失败纠正和报错工具
  • 材质多余属性剔除工具

路线图

参考

  • YooAsset URS运行时的代码,很大一部分来自 YooAsset

交流

  • 如果遇到任何问题:进qq群讨论:1067123079

免责声明

里面用的收费插件,仅仅用做学习的目的,鼓励大家购买正版,不要随便传播收费插件

变更历史

2023-11-13

  • 优化:在不同图片的后处理的时候,代码会跳过 原来图片size小于预设size的
  • 优化:shader 预热 shader variant collection的导出(全网唯一支持 mutil_compiler 关键字预热的方案)

2023-7-26

  • 功能:所有的远程下载操作,都会放到临时目录,只要通过验证的,才可以进最终目录
  • 功能:Share 资源的包名,会自动根据历史记录,固定下来,保证了 binary diff 的命中率
  • 功能:包名固定下来之后,sbp的hash的命中率百分百命中
  • 功能:增加版本日志功能,跟踪每次打包每个hash的命中情况
  • 功能:在用assetdatabase加载资源的时候,也会检查资源的有效性,保证和手机端一样的加载流程,把找不到资源的bug,彻底堵死
  • 优化:不在使用基于ScriptObject的配置方式,而是使用json的方式
  • BUG:修复了运行时下载过程中 断了之后,第二次启动游戏重复下载的问题(运行时bug只此一个)

2023-4-18

  • 功能:版本管理增加数量限制,多余的版本会被删除
  • 功能:第一个热更新界面,也可以做到更新自己了,全网只此URS支持,这一个特性
  • 功能:重构了虚拟文件夹系统
  • 功能:用户手机上任意删除本地文件的时候,更新系统通过开机自检保证资源数据的正确性
  • 功能:一个渠道里面可以根据app-version-number定制自己的版本号
  • 功能:增加CI脚本接口
  • 优化:urs的帧率控制
  • 优化:urs的在游戏重装下的策略:删除老旧的资源
  • BUG:修正了多个bug