yooasset-design

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

2|Updated May 18, 2026
One-click install
npx skills add https://github.com/pcone-mm/NewFPG --skill yooasset-design-pcone-mm
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: yooasset-design
Source: https://github.com/pcone-mm/NewFPG/tree/main/.agents/skills/unity-skills/skills/yooasset-design
Command: npx skills add https://github.com/pcone-mm/NewFPG --skill yooasset-design-pcone-mm

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing YooAsset code in Unity is error-prone: AI agents frequently hallucinate removed APIs, misuse handle lifecycles, mismatch PlayMode parameters, and break builds with outdated collector rules. This Skill provides source-anchored reference documentation for YooAsset v2.3.18 so generated code compiles and behaves correctly. ## Core Features & Use Cases - Lifecycle and initialization guidance: Covers the exact YooAssets.Initialize, CreatePackage, InitializeAsync, DestroyAsync, and RemovePackage sequences with anti-patterns for each step. - Loading, handles, and refcounting rules: Documents the five load families (Asset, SubAssets, AllAssets, RawFile, Scene), the Behaviour type guard, Release semantics, and AutoUnloadBundleWhenUnused behavior. - Build pipeline and FileSystem reference: Details AssetBundleBuilder, BuildParameters, IFilterRule's required FindAssetType, FileSystemParameters factories, and IRemoteServices/IDecryptionServices contracts, plus a 30-item pitfalls checklist and legacy API migration table. - Use Case: When asked to write a Unity hot-update flow, the agent consults these references to emit the correct RequestPackageVersionAsync → UpdatePackageManifestAsync → CreateResourceDownloader sequence instead of hallucinated pre-2.3.18 APIs. ## Quick Start Use the yooasset-design skill to write a YooAsset 2.3.18 host-play-mode initialization and asset loading 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. Only proceed with loads after the operation status is 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 refcount 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 version 2.3.16, IFilterRule requires a FindAssetType string property in addition to IsCollectAsset. Add something like public string FindAssetType => "t:Prefab"; to your implementation.

Why is YooAsset UpdatePackageManifestAsync misbehaving?

It warns and behaves unpredictably if loaders are still alive. Release all handles, await UnloadAllAssetsAsync, and call RequestPackageVersionAsync first to obtain the version before updating the manifest.

Can I load a MonoBehaviour directly with YooAsset?

No. The type guard rejects any type assignable to UnityEngine.Behaviour, throwing in DEBUG builds. Load the GameObject prefab instead and call GetComponent<T>() on the instantiated instance.