yooasset-design

Guides correct usage of YooAsset 2.3.18 APIs for Unity asset bundle management.

Updated Jun 21, 2026
One-click install
npx skills add https://github.com/du-qwq/Shader-Writing-Architecture-and-Specifications --skill yooasset-design-du-qwq
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: yooasset-design
Source: https://github.com/du-qwq/Shader-Writing-Architecture-and-Specifications/tree/main/.agents/skills/unity-skills/skills/yooasset-design
Command: npx skills add https://github.com/du-qwq/Shader-Writing-Architecture-and-Specifications --skill yooasset-design-du-qwq

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Writing YooAsset code from memory leads to hallucinated APIs, missed breaking changes (like the 2.3.16 IFilterRule.FindAssetType requirement), and lifecycle bugs such as leaked handles or mismatched PlayMode parameters. This Skill grounds every YooAsset decision in the actual v2.3.18 source with file-and-line citations. ## Core Features & Use Cases - Source-anchored API references: Covers initialization, PlayModes, FileSystem parameters, loading (assets, scenes, raw files), handles and reference counting, build pipeline, and collector rules, each citing exact source files and line numbers. - Anti-pattern catalog: A 30-item pitfalls checklist plus a legacy-API migration table listing pre-2.3.18 calls that must not be emitted (e.g., the removed downloader timeout parameter, the nonexistent UpdatePackageVersionOperation). - Canonical templates: Ready-to-adapt boot/teardown, build, load, and FileSystem configuration code for EditorSimulate, Offline, Host, Web, and Custom play modes. - Use Case: When asked to write a Unity hot-update flow, the agent produces the correct sequence — YooAssets.Initialize, CreatePackage, InitializeAsync with HostPlayModeParameters, RequestPackageVersionAsync, UpdatePackageManifestAsync, then CreateResourceDownloader — without inventing removed APIs. ## Quick Start Use the yooasset-design skill to write a YooAsset 2.3.18 host-play-mode initialization and patch flow for my Unity project.

Frequently Asked Questions about yooasset-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I initialize YooAsset in a Unity project?

Call YooAssets.Initialize() once per process, then create a package with YooAssets.CreatePackage and await package.InitializeAsync with the parameters subclass matching your play mode. Loading calls fail until InitializeStatus reaches Succeed.

How do I load assets with YooAsset 2.3.18?

Use package.LoadAssetAsync<T>(location) or LoadAssetSync<T>, then yield return the handle, await handle.Task, or subscribe to handle.Completed. Always call handle.Release() when done so the bundle reference count drops.

Which YooAsset play mode works on WebGL?

Only WebPlayMode is permitted on WebGL; HostPlayMode, OfflinePlayMode, and EditorSimulateMode throw exceptions on that platform. Use WebPlayModeParameters with WebServerFileSystemParameters and optionally WebRemoteFileSystemParameters for a CDN.

Why does my YooAsset IFilterRule fail to compile in 2.3.18?

Since 2.3.16, IFilterRule requires a FindAssetType property in addition to IsCollectAsset. Add something like public string FindAssetType => "t:Prefab"; to narrow the collector's asset search scope.

Why is YooAsset UnloadUnusedAssetsAsync not freeing bundles?

Bundles stay resident while any handle referencing them is unreleased. Pair every load call with handle.Release(), or enable AutoUnloadBundleWhenUnused on InitializeParameters so bundles unload when the last handle is released.

What is the correct YooAsset hot-update sequence?

After initialization, call RequestPackageVersionAsync, then UpdatePackageManifestAsync with the returned version, then CreateResourceDownloader and BeginDownload. Release handles and call UnloadAllAssetsAsync before updating the manifest to avoid warnings.