---
title: Asynchronous Asset Loading
source: https://dev.epicgames.com/documentation/en-us/unreal-engine/asynchronous-asset-loading-in-unreal-engine
version: Unreal Engine 5.8 Documentation
fetched: 2026-10-11
note: 原文摘录（英文），供 wiki 引用；非全文
---

# Asynchronous Asset Loading

- Works identically in development and cooked data.
- Hard UObject pointer property → loaded with containing object; careless use loads 100% of assets at startup. FSoftObjectPath (string, handles cooking and redirects); TSoftObjectPtr is basically a TWeakObjectPtr wrapping FSoftObjectPath, templated to restrict editor UI. Get(); ToSoftObjectPath().
- Asset Registry: metadata searchable without loading (AssetRegistrySearchable; FAssetData). ObjectLibrary: list of loaded objects or FAssetData from a path; designers add assets without master list.
- FStreamableManager (put in global singleton e.g. GameSingletonClassName); SynchronousLoad blocks (may stall main thread); RequestAsyncLoad loads group and calls delegate. StreamableManager keeps hard references until the delegate is called, then releases — hard reference elsewhere to keep them.
- Converting gameplay code takes time but yields far fewer stalls and lower memory.
