
A high‑level guide to Primary Asset Types, Primary Asset IDs, and how to think about them without drowning in jargon.
The One-Sentence Idea
Asset Manager = the game’s librarian.
It remembers where the important things are (primary assets) and only brings them when needed → keeps memory use and load times under control.
Primary vs. Secondary Assets
- Primary Assets → Books the librarian can fetch by name.
- Secondary Assets → Pages inside the book. They come along because the book references them.
Example: “Bring me Weapon/SwordOfDawn.” The book (primary asset) comes with its pages (meshes, textures, sounds).
Primary Asset Type = The Shelf
- Types are shelves/genres: Weapon, Character, Quest, Level, UITheme.
- Lets you ask: “Load all Weapons” or “Load this specific Weapon.”
- By default, only Levels are primary. Add your own shelves for your game.
If your game were a restaurant, Types are the menu sections: Starters, Mains, Desserts. You can ask for the whole section or a specific dish.
Primary Asset ID = The Call Number
A unique address made of:
- Type (shelf)
- Name (book’s label)
Example: Weapon:SwordOfDawn
Primary Data Assets = Recipe Cards
- Data-only assets (Blueprint or C++ subclass of UPrimaryDataAsset).
- Like recipe cards: structured, editable data for items, enemies, quests, abilities.
- Fetchable by ID. Can list bundles of assets it needs.
- Primary Asset Labels = editor stickers to group assets/folders for packaging, patching, or platform builds.
You can still make other classes primary, but UPrimaryDataAsset is the simplest on‑ramp.
How It All Fits Together
Imagine an RPG shop:
- UI: “Give me all Weapon recipe cards.” (Type-wide load)
- Hover an item: “Load Weapon:SwordOfDawn with Preview bundle.”
- Equip: “Load Weapon:SwordOfDawn with InGame bundle.”
Result:
- Shop = fast loads.
- Gameplay = full rich loads.
Minimal Setup
- Pick Types (Weapon, Armor, Quest, etc.)
- Create Primary Data Assets (UPrimaryDataAsset).
- Name clearly → becomes ID. Avoid renaming.
- Configure in Project Settings → Asset Manager:
- Add Types
- Set folders
- Add rules (Cooked, Always Cook, Async)
- (Optional) Add Bundles (Preview, InGame, EditorOnly).
- Load by Type (menus) or by ID (gameplay).
Common Pitfalls
- Renaming pain → breaks IDs.
- Only Levels are primary by default → others must be registered.
- Wrong folders → ensure Asset Manager scans the right directories.
Quick Glossary
- Asset Manager: the librarian.
- Primary Asset: ask for directly (Type/ID).
- Secondary Asset: comes along by reference.
- Primary Asset Type: shelf/genre.
- Primary Asset ID: address = Type + Name.
- Bundle: packing list inside a primary asset.
- Primary Asset Label: editor sticker for grouping.
Final Mental Picture
- Shelves = Types
- Books = Primary Assets
- Call Numbers = IDs
- Packing Lists = Bundles
- Librarian = Asset Manager
Closing Remark
The Asset Manager may seem abstract at first, but if you think of it as a librarian organizing shelves of books, it becomes much simpler: define your types, give assets clear IDs, and let the system handle loading only what you need. Done right, it keeps your project clean, efficient, and easy to scale.


