Contents
Unreal Engine 5.8 · Focused reference
Async loading and lifetime
On this page
Owned load sequence
- Gather soft paths or Primary Asset IDs before the transition.
- Request through Asset Manager or
FStreamableManager::RequestAsyncLoad. - Retain the
FStreamableHandlewhen cancellation, progress, combined requests, or residency ownership matters. - On completion, verify request state and every required asset; callbacks may arrive after the caller's original state changed.
- Create/register render, physics, audio, and gameplay resources in a bounded readiness phase.
- Transfer assets into a hard owner for the exact use lifetime or keep the governing handle alive.
- On cancellation/transition, stop dependent work, release owners/handles, and verify collection/eviction.
FStreamableManager keeps requested assets referenced through the completion delegate; afterward the
caller must retain them if needed. A soft pointer path does not itself own residency.
Race and failure checks
- owner destroyed before completion;
- two requests for the same asset with different consumers;
- cancel after IO began but before callback;
- partial bundle failure or missing cooked dependency;
- async completion followed by synchronous resource creation hitch;
- unload while a component/task/delegate still uses the asset;
- stale callback applies content to a new state/level/character.
Use a request generation/token and weak owner where appropriate. Completion means “asset available,” not automatically “gameplay-ready.”
Sources and version
Documentation target: Unreal Engine 5.8. Confirm behavior in your installed engine; no per-procedure test result is implied.
Read this system’s sources and verification notes →
Canonical reference and AI copy
unreal-memory-streaming/references/async-loading-and-lifetime.md