YooAsset's Unity Asset Packaging Strategies: From Directory Packs to Shared Bundles
Wrong bundle sizes and dependency graphs turn Unity asset loading into slow startups, memory spikes, and broken hot updates. YooAsset's explicit size targets and shared-bundle rules give teams a way to build these decisions into the pipeline rather than discovering them in production.
YooAsset's packaging strategy lays out concrete bundle-size targets: 1-10MB per bundle on mobile, 5-50MB on PC, 1-5MB on WebGL, with no bundle exceeding 50MB. Exceeding those limits stretches download time and memory; undershooting multiplies bundle count and dependency complexity. The guide then classifies assets by type, usage frequency, and update frequency to decide which bundles need to exist at all.
Splitting rules run from packing a whole directory into one bundle to isolating each prefab, then escalate to shared dependency bundles via SharedPackRule and priority-layered bundles via BundlePriority. Tag-based and version-based rules add flexibility for A/B builds and multi-version releases. Each strategy trades bundle count against duplication, and the article shows configuration examples for every one.
Dependency management gets its own section: analysis tools include Unity's AssetBundle Browser, YooAsset's own scanner, and Addressables Analyze, with a warning against circular dependencies. Shared resources referenced by multiple bundles should be extracted into independent bundles. Subpackaging separates built-in assets from updatable content, while channel- and platform-specific differences, such as texture compression formats, are handled by YooAsset's automatic per-target builds.
The platform-specific size ranges (1-10MB mobile vs 5-50MB PC) show that bundle sizing cannot follow a single universal rule; teams must calibrate to their target devices and download constraints.
The guide's emphasis on built-in versus updatable assets reflects a hot-update workflow common in Chinese game distribution, where content patches ship outside the app store review cycle.
Treating SharedPackRule and BundlePriority as first-class configuration fields signals that YooAsset considers dependency management a packaging concern from the start, unlike Unity's default AssetBundle workflow where such grouping is largely manual.
The insistence on avoiding circular dependencies and using graph analysis suggests that as bundle count grows, the dependency graph itself becomes the limiting factor for maintainability.