Background
Background

Unreal Engine’s Asset Manager in Plain English

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:

  1. Type (shelf)
  2. 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:

  1. UI: “Give me all Weapon recipe cards.” (Type-wide load)
  2. Hover an item: “Load Weapon:SwordOfDawn with Preview bundle.”
  3. Equip: “Load Weapon:SwordOfDawn with InGame bundle.”

Result:

  • Shop = fast loads.
  • Gameplay = full rich loads.


Minimal Setup

  1. Pick Types (Weapon, Armor, Quest, etc.)
  2. Create Primary Data Assets (UPrimaryDataAsset).
  3. Name clearly → becomes ID. Avoid renaming.
  4. Configure in Project Settings → Asset Manager:
    • Add Types
    • Set folders
    • Add rules (Cooked, Always Cook, Async)
  5. (Optional) Add Bundles (Preview, InGame, EditorOnly).
  6. 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.