Skip to main content

AsyncLoad Toolkit

AsyncLoad Toolkit is an Unreal Engine plugin that gives Blueprint full control over asynchronous and synchronous asset loading — the kind of control FStreamableManager offers in C++ but that vanilla Blueprint nodes do not expose.

Why AsyncLoad Toolkit?

Unreal's built-in Async Load Asset node covers the most basic case. The moment you need anything beyond a single soft reference, you hit a wall.

FeatureVanilla BPAsyncLoad Toolkit
Load 1 soft reference
Load an array of assets❌ (pre-5.7)✅ all versions
Callable in a function / macro✅ via delegate
0–1 progress
Cancellation
Priority
Deduplication (already in-flight)
Keep-alive (anti-GC)✅ ref-counted
Throttling / chunks (anti-OOM)
Handle storable as a variable
The main differentiator

AsyncLoad Toolkit's library functions are non-latent: they return immediately and fire a delegate when done. This means they compile and run inside Blueprint function graphs, macros, and interfaces — not just Event Graphs. This is the feature vanilla async nodes can never offer.

Key concepts

  • Function vs. Node — when to use the library function vs. the async node.
  • Handle — a storable UAsyncKitHandle object with progress, cancel, and status.
  • Keep-alive — ref-counted hard references that prevent GC from evicting assets.
  • Deduplication — identical in-flight requests are merged automatically.
  • Chunking — load thousands of assets in batches to keep RAM usage flat.

Supported engine versions

Plugin versionUE versions
v1.05.2, 5.3, 5.4, 5.5, 5.6, 5.7

Architecture overview

Blueprint / C++


UAsyncKitLibrary ← non-latent, usable anywhere
UAsyncKitNodes ← async action nodes, Event Graph only


UAsyncKitSubsystem ← single source of truth (GameInstance lifetime)
├── dedup map
├── retain map
├── active handle list (anti-GC)
└── progress ticker


FStreamableManager ← Unreal's native streaming backend