SuperAPI AI 工具集

unity-yooasset-design

编程与开发

查看项目

更新于 10-15 17:25

技能介绍

用途:该模块是 YooAsset v2.3.18(2025-12-04)的咨询型设计规则文档,每条规则都标注 Assets/YooAsset/ 下的具体文件与行号,便于审查推理,防止 AI 依据过时记忆臆造 API。仅文档形式,无 REST 技能门禁,任意运行模式下均可自由加载。

适用时机:在编写或审查 YooAssets.Initialize()/CreatePackage()/Destroy() 引导代码、默认包快捷方法(SetDefaultPackage、LoadAssetAsync、CreateResourceDownloader)、ResourcePackage.InitializeAsync()(5 种 EPlayMode)、各类 Load* 与句柄释放、补丁流程、FileSystemParameters 构造、IDecryptionServices/IRemoteServices 实现、AssetBundleBuilder.Run() 与 AssetBundleCollector 配置,以及基于 EOperationStatus/EFileClearMode 的分支代码前加载。

核心规则:Initialize() 须先于 CreatePackage() 且保持进程级单例,驱动 GameObject 由 DontDestroyOnLoad 创建、不要自行销毁;InitializeAsync 无独立 EPlayMode 参数,由 InitializeParameters 子类推断;EditorSimulateMode 仅在 UNITY_EDITOR 下有效,WebPlayMode 仅在 UNITY_WEBGL 下有效;所有句柄须 Release() 或 Dispose();补丁流程严格按 InitializeAsync→RequestPackageVersionAsync→UpdatePackageManifestAsync→CreateResourceDownloader→BeginDownload 顺序;下载回调为单槽委托字段,须在 BeginDownload() 前赋值;DestroyAsync() 须先于 RemovePackage();UpdatePackageManifestAsync 前先调用 UnloadAllAssetsAsync()。

版本与迁移:文档针对 2.3.18,并列出 2.3.15–2.3.18 变更,包括 CRC 校验修复、移除下载超时参数(改用 DOWNLOAD_WATCH_DOG_TIME)、IFilterRule 新增 FindAssetType、清单二进制格式不兼容等。迁移表纠正常见误记:不存在裸 LoadAsset、同步 UnloadUnusedAssets、UpdatePackageVersionOperation、事件式 OnDownloadFinishCallback 等。

限制:属于参考文档,不直接执行操作;涉及程序集布局、异步编排、架构决策与性能审查时应转对应模块。