asset-management

Manages Unreal Engine asset references, async loading, and Asset Registry queries in C++.

1|Updated Sep 6, 2026
One-click install
npx skills add https://github.com/ziyarduc/Baran-bk-game --skill asset-management-ziyarduc
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: asset-management
Source: https://github.com/ziyarduc/Baran-bk-game/tree/main/.agents/skills/asset-management
Command: npx skills add https://github.com/ziyarduc/Baran-bk-game --skill asset-management-ziyarduc

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Choosing the wrong asset reference type in Unreal Engine causes load hitches, memory bloat, and oversized cooked packages. This Skill guides correct use of hard vs soft references, async loading, and asset discovery so content loads only when needed. ## Core Features & Use Cases - Hard vs Soft Reference Guidance: Decide between TObjectPtr, TSoftObjectPtr, and TSoftClassPtr to control what loads into memory and gets cooked with each class. - Async Asset Loading: Load assets on demand with FStreamableManager and FStreamableHandle, including batch loads, combined handles, and handle lifecycle management. - Asset Registry Queries: Enumerate and filter assets by class, path, or searchable tags without loading them, using IAssetRegistry and FARFilter. - Primary Asset Pipeline: Set up UPrimaryDataAsset with UAssetManager and asset bundles for large content libraries, DLC, and chunked delivery. - Use Case: A GameInstance holding hard references to dozens of heavy textures causes memory bloat; convert them to soft references and load asynchronously only when the relevant screen opens. ## Quick Start Ask the assistant to convert the hard-referenced meshes in your character class to soft references and load them asynchronously with the streamable manager.

Frequently Asked Questions about asset-management

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

FAQPage Schema
How do I load assets asynchronously in Unreal Engine C++?▼

Use UAssetManager::GetStreamableManager().RequestAsyncLoad with an FSoftObjectPath and a completion delegate. Store the returned TSharedPtr<FStreamableHandle> so the loaded asset stays resident; releasing the handle allows garbage collection.

What is the difference between TObjectPtr and TSoftObjectPtr in UE5?▼

TObjectPtr is a hard reference that loads the target and its dependencies whenever the owner loads. TSoftObjectPtr stores only an FSoftObjectPath and loads nothing until you explicitly request it, making it right for heavy or optional assets.

How do I find assets without loading them in Unreal Engine?▼

Use the Asset Registry via IAssetRegistry::GetAssets with an FARFilter combining class paths, package paths, and tag values. It returns FAssetData metadata from .uasset headers without triggering any load.

Why does my Unreal game hitch when loading assets during gameplay?▼

The hitch comes from calling LoadSynchronous on the game thread. Load assets asynchronously ahead of time with RequestAsyncLoad, and reserve synchronous loads for startup or level transitions only.

When should I use UPrimaryDataAsset and UAssetManager?▼

Use them when your game has a large content library, DLC, or chunked delivery. UPrimaryDataAsset gives each asset an FPrimaryAssetId, and asset bundles let you load only the content each context needs, such as UI versus in-game.

Can I use ConstructorHelpers FObjectFinder outside a constructor?▼

No. FObjectFinder and FClassFinder only work inside a class constructor and fail or assert at runtime elsewhere. For game content, prefer UPROPERTY soft or hard references assigned in a Blueprint subclass.