/YooAsset

unity3d resources management system

Primary LanguageC#Apache License 2.0Apache-2.0

image

YooAsset

Licenseopenupm

YooAsset是一套用于Unity3D的资源管理系统,用于帮助研发团队快速部署和交付游戏。

它可以满足商业化游戏的各类需求,并且经历多款百万DAU游戏产品的验证。

介绍

YooAsset可以满足以下任何需求:

  • 我想发布一个不包含任何游戏资源的安装包,然后玩家边玩边下载。
  • 我想发布一个可以保证前期体验的安装包,然后玩家自己选择下载关卡内容。
  • 我想发布一个保证300MB以下内容的安装包,然后进入游戏之前把剩余内容下载完毕。
  • 我想发布一个偏单机的游戏安装包,在网络畅通的时候,支持正常更新。在没有网络的时候,支持游玩老版本。
  • 我想发布一个MOD游戏安装包,玩家可以把自己制作的MOD内容上传到服务器,其它玩家可以下载游玩。
  • 我们在制作一个超大体量的项目,有上百GB的资源内容,每次构建都花费大量时间,是否可以分工程构建?

系统特点

  • 构建管线无缝切换

    支持传统的内置构建管线,也支持可编程构建管线(SBP)。

  • 支持分布式构建

    支持分工程构建,支持工程里分内容构建,很方便支持游戏模组(MOD)。

  • 支持可寻址资源定位

    默认支持相对路径的资源定位,也支持可寻址资源定位,不需要繁琐的过程即可高效的配置寻址路径。

  • 安全高效的分包方案

    基于资源标签的分包方案,自动对依赖资源包进行分类,避免人工维护成本。可以非常方便的实现零资源安装包,或者全量资源安装包。

  • 强大灵活的打包系统

    可以自定义打包策略,自动分析依赖实现资源零冗余,基于资源对象的资源包依赖管理方案,天然的避免了资源包之间循环依赖的问题。

  • 基于引用计数方案

    基于引用计数的管理方案,可以帮助我们实现安全的资源卸载策略,更好的对内存管理,避免资源对象冗余。还有强大的分析器可帮助发现潜在的资源泄漏问题。

  • 多种模式自由切换

    编辑器模拟模式,单机运行模式,联机运行模式。在编辑器模拟模式下,可以不构建资源包来模拟真实环境,在不修改任何代码的情况下,可以自由切换到其它模式。

  • 强大安全的加载系统

    • 异步加载 支持协程,Task,委托等多种异步加载方式。
    • 同步加载 支持同步加载和异步加载混合使用。
    • 边玩边下载 在加载资源对象的时候,如果资源对象依赖的资源包在本地不存在,会自动从服务器下载到本地,然后再加载资源对象。
    • 多线程下载 支持断点续传,自动验证下载文件,自动修复损坏文件。
    • 多功能下载器 可以按照资源分类标签创建下载器,也可以按照资源对象创建下载器。可以设置同时下载文件数的限制,设置下载失败重试次数,设置下载超时判定时间。多个下载器同时下载不用担心文件重复下载问题,下载器还提供了下载进度以及下载失败等常用接口。
  • 原生格式文件管理

    无缝衔接资源打包系统,可以很方便的实现原生文件的版本管理和下载。

  • 灵活多变的版本管理

    支持线上版本快速回退,支持区分审核版本,测试版本,线上版本,支持灰度更新及测试。

入门教程

  1. 快速开始
  2. 全局配置
  3. 资源配置
  4. 资源打包
  5. 资源部署
  6. 构建报告
  7. 调试器
  8. 着色器
  9. 常见问题

代码教程

  1. 初始化
  2. 资源更新
  3. 资源加载
  4. 解决方案

其它教程

视频教程

示例教程

社区

QQ群:963240451

致谢名单👯

代码贡献

友情链接

ET Framework: ET 7.0 + FGUI + luban + huatuo + YooAsset + NKGMoba + UniTask,并提供常用的编辑器工具。

ETPro ET6+YooAsset+HybridCLR

YooAssetEx: YooAsset Odin扩展工具,用于支持Unity2017和Unity2018版本。