{"id":25255629,"url":"https://github.com/killop/unityresourcesolution","last_synced_at":"2025-04-05T12:05:08.565Z","repository":{"id":115329887,"uuid":"582954206","full_name":"killop/UnityResourceSolution","owner":"killop","description":"青霜-UnityResourceSolution","archived":false,"fork":false,"pushed_at":"2023-11-13T09:14:32.000Z","size":6141,"stargazers_count":437,"open_issues_count":2,"forks_count":75,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-03-29T11:05:56.529Z","etag":null,"topics":["ab","assetbundle","bundler","unity","unity-resources"],"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/killop.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,"governance":null}},"created_at":"2022-12-28T10:35:52.000Z","updated_at":"2025-03-18T12:20:55.000Z","dependencies_parsed_at":"2023-11-13T10:24:25.711Z","dependency_job_id":null,"html_url":"https://github.com/killop/UnityResourceSolution","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/killop%2FUnityResourceSolution","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/killop%2FUnityResourceSolution/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/killop%2FUnityResourceSolution/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/killop%2FUnityResourceSolution/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/killop","download_url":"https://codeload.github.com/killop/UnityResourceSolution/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247332602,"owners_count":20921853,"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":["ab","assetbundle","bundler","unity","unity-resources"],"created_at":"2025-02-12T05:57:53.542Z","updated_at":"2025-04-05T12:05:08.524Z","avatar_url":"https://github.com/killop.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 青霜-Unity-Resource-Solution\n\n## 描述\n- URS是一套unity资源管理方案，该方案把原始资源看作为一等公民，更新系统和ab系统完全分离。该方案包含了资源的导入，ab的导出，ab的热更新。这套方案涉及到了你在日常unity资源管理中的有可能遇到的方方面面\n- URS的方向和初衷：争取在各个问题领域给出最好的答案\n- 青霜的名字取自（腾蛟起凤，孟学士之词宗；紫电青霜，王将军之武库 --滕王阁序）\n## 特点\n- 支持边玩边下载资源\n- 完备的基于tag的资源管理系统，一个资源多个tag\n- 按照目录结构更新\n- 文件不以hash结尾\n- 全网唯一支持二次打包的系统，根据第一次打包的结果，自动优化ab大小，io数量。在零冗余和减少IO之间取得一个适当的平衡，相信我，用了它你会起飞的\n- 优化并且扩展了[smart-library](https://assetstore.unity.com/packages/tools/utilities/smart-library-asset-manager-200724) 打造了一个优美的打包资源收集系统\n- 支持 AssetBundleBrowser\n- 无状态多版本管理系统\n- binary diff，保证多版本之间最小更新体积\n- shader变体收集工具\n- shader变体裁剪工具\n- 动画任意长度裁剪工具\n- 动画属性绑定失败纠正和报错工具\n- 材质多余属性剔除工具\n## 路线图\n- 远程下载暂时用了比较稳健的besthttp插件，正在接入：https://github.com/bezzad/Downloader\n\n## 参考\n- [YooAsset](https://github.com/tuyoogame/YooAsset) URS运行时的代码，很大一部分来自 YooAsset\n\n## 交流\n- 如果遇到任何问题：进qq群讨论：1067123079       \n## 免责声明\n里面用的收费插件，仅仅用做学习的目的，鼓励大家购买正版，不要随便传播收费插件\n\n## 变更历史\n#### 2023-11-13\n- 优化：在不同图片的后处理的时候，代码会跳过 原来图片size小于预设size的\n- 优化：shader 预热 shader variant collection的导出（全网唯一支持 mutil_compiler 关键字预热的方案）\n\n#### 2023-7-26\n- 功能：所有的远程下载操作，都会放到临时目录，只要通过验证的，才可以进最终目录\n- 功能：Share 资源的包名，会自动根据历史记录，固定下来，保证了 binary diff 的命中率\n- 功能：包名固定下来之后，sbp的hash的命中率百分百命中\n- 功能：增加版本日志功能，跟踪每次打包每个hash的命中情况\n- 功能：在用assetdatabase加载资源的时候，也会检查资源的有效性，保证和手机端一样的加载流程，把找不到资源的bug，彻底堵死\n- 优化：不在使用基于ScriptObject的配置方式，而是使用json的方式\n- BUG：修复了运行时下载过程中 断了之后，第二次启动游戏重复下载的问题（运行时bug只此一个）\n\n#### 2023-4-18\n- 功能：版本管理增加数量限制，多余的版本会被删除\n- 功能：第一个热更新界面，也可以做到更新自己了，全网只此URS支持，这一个特性\n- 功能：重构了虚拟文件夹系统\n- 功能：用户手机上任意删除本地文件的时候，更新系统通过开机自检保证资源数据的正确性\n- 功能：一个渠道里面可以根据app-version-number定制自己的版本号\n- 功能：增加CI脚本接口\n- 优化：urs的帧率控制\n- 优化：urs的在游戏重装下的策略：删除老旧的资源\n- BUG：修正了多个bug","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkillop%2Funityresourcesolution","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkillop%2Funityresourcesolution","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkillop%2Funityresourcesolution/lists"}