Skilllibrary asset-pipeline
Manages game asset import, compression, bundling, streaming, and build optimization. Use when configuring texture compression (ASTC/BC7/ETC2), LOD generation, asset bundles, Addressables, streaming systems, audio formats, or reducing build size in Unity, Unreal, or Godot.
install
source · Clone the upstream repo
git clone https://github.com/merceralex397-collab/skilllibrary
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/merceralex397-collab/skilllibrary "$T" && mkdir -p ~/.claude/skills && cp -r "$T/13-game-engines-and-creative-tech/asset-pipeline" ~/.claude/skills/merceralex397-collab-skilllibrary-asset-pipeline && rm -rf "$T"
manifest:
13-game-engines-and-creative-tech/asset-pipeline/SKILL.mdsource content
Purpose
Configure and optimize the full game asset pipeline: import settings, texture compression, mesh LOD, asset bundling and streaming, audio management, build size reduction, and version control for large binaries.
When to use this skill
- Configuring texture import settings (compression format, max size, mipmaps)
- Setting up asset bundling (Unity Addressables/AssetBundles, UE5 Asset Manager, Godot PCK)
- Implementing streaming or lazy loading for open-world scenes
- Optimizing build size with asset stripping and platform-specific variants
- Managing audio assets (format selection, streaming vs preload decisions)
- Establishing asset naming conventions and folder structures
- Setting up Git LFS or Perforce for binary asset version control
Do not use this skill when
- The task is about gameplay logic or systems design — use
game-design-systems - The task is about UI layout or HUD elements — use
game-ui-hud - The task is purely about shader/material authoring — use
shader-vfx - The task is about runtime rendering performance without asset changes — use
performance-profiling-games
Operating procedure
- Audit current asset inventory: list asset types (textures, meshes, audio, animations), count, total size, and target platforms. Identify the largest contributors to build size.
- Configure texture compression per platform:
- Mobile: ASTC 6x6 (balanced) or ASTC 8x8 (smaller, lower quality). Fallback: ETC2 for older Android.
- Desktop/Console: BC7 (high quality, good compression) or BC3/DXT5 for alpha textures.
- Set max texture size: 2048 for hero assets, 1024 for props, 512 for distant/tiling.
- Enable mipmaps for 3D textures; disable for UI sprites.
- Generate mesh LODs: create 3–4 LOD levels per mesh. LOD0 = full detail, LOD1 = 50% triangles at 15m, LOD2 = 25% at 30m, LOD3 = 10% at 60m. Use engine auto-LOD (UE5 Nanite for supported meshes, Unity LODGroup, Godot
).MeshInstance3D.lod_bias - Set up asset bundling and loading:
- Unity: use Addressables with group labels by scene/area. Load via
. Release withAddressables.LoadAssetAsync<T>(key)
.Addressables.Release(handle) - UE5: use
withFStreamableManager::RequestAsyncLoad
. Register primary assets in Asset Manager.FSoftObjectPath - Godot: use
for async loading; export PCK files for DLC.ResourceLoader.load_threaded_request()
- Unity: use Addressables with group labels by scene/area. Load via
- Configure audio pipeline: use OGG Vorbis for music (streaming, ~128kbps), WAV/ADPCM for short SFX (preloaded), set audio import to mono for non-spatial sounds, stereo for music.
- Optimize build size: strip unused assets with engine tools (
in Unity,Resources.UnloadUnusedAssets()
in UE5). Compress with LZ4/Zstd. Create platform-specific asset variants (lower res for mobile).Cook Only Maps - Enforce naming and folder conventions:
,Assets/Textures/Characters/T_Hero_Albedo.png
. Prefix by type:Assets/Audio/SFX/SFX_Footstep_Dirt.ogg
textures,T_
materials,M_
static mesh,SM_
skeletal mesh,SK_
sound effects.SFX_ - Configure version control: put all binary assets in Git LFS (
:.gitattributes
,*.png filter=lfs
,*.fbx filter=lfs
). For teams >5, consider Perforce for locking and large binary performance.*.wav filter=lfs
Decision rules
- Choose compression format based on target platform first, quality second — a wrong format causes runtime decompression or GPU incompatibility.
- Prefer Addressables/Asset Manager over raw
— Resources folder forces all assets into the build.Resources.Load<T>() - Stream music and ambient audio; preload SFX under 500KB.
- Use texture atlases and sprite sheets to reduce draw calls for 2D games (target < 4 atlases per scene).
- Generate LODs for any mesh with >5K triangles visible in-game.
- Never commit uncompressed PSD/TIFF source files to the game repo — keep sources in a separate art repo or drive.
Output requirements
— inventory of asset types, sizes, and platform targetsAsset Audit
— compression format, max size, mipmap config per asset categoryImport Settings
— group structure, loading/unloading lifecycle, memory budgetBundling Strategy
— prefix rules, folder hierarchy, examplesNaming Convention
— before/after build size, draw call counts, load time measurementsBuild Report
—VCS Config
for LFS or Perforce workspace mapping.gitattributes
References
- Unity:
,Addressables
,AssetBundle
,TextureImporter
,AudioImporterEditorBuildSettings - UE5:
,FStreamableManager
,UAssetManager
, Nanite virtual geometryUTexture2D::LODBias - Godot 4:
,ResourceLoader
,PCKPacker
,ImporterSettingsResourceSaver - Git LFS documentation: track patterns, lock support, storage quotas
Related skills
— draw call budgets, memory profiling for assetsperformance-profiling-games
— UI texture atlasing and sprite sheet setupgame-ui-hud
— material/texture dependencies in the pipelineshader-vfx
— UE5 soft references and async loading in Blueprintsblueprint-patterns
Failure handling
- If build size exceeds target, run asset audit to find the top 10 largest assets and apply aggressive compression or resolution reduction.
- If async loading causes hitches, profile load times and add preload hints for critical paths.
- If Git LFS storage quota is reached, migrate to Perforce or prune unused tracked files with
.git lfs prune - If texture compression artifacts are visible, step up quality (e.g., ASTC 4x4 instead of 8x8) for affected assets only.