Async Blueprint Tools Plugin

Threaded Execution & Delay Control in Blueprints

Plugin Overview

Take full control of async operations from Blueprints โ€” no C++ required.

Async Blueprint Tools is a lightweight, production-ready Unreal Engine plugin that lets you run Blueprint logic on background threads, safely return to the game thread, introduce non-blocking delays, and even create cancelable asynchronous loops โ€” all through pure Blueprint nodes.

Ideal for games and tools that demand concurrency without complexity, this plugin empowers developers to process heavy logic, load data, or throttle logic execution without blocking gameplay.

๐Ÿง  What It Solves:

  • Run long logic tasks without freezing your game
  • Cleanly return from background threads to update UMG/UI or actor logic
  • Schedule repeatable background tasks like AI processing, streaming, or chunk loading
  • Avoid misuse of timers, delays, or latent nodes for concurrency

Installation

Option 1: Marketplace

  1. Purchase the plugin from the Unreal Engine Marketplace .
  2. Open the Epic Games Launcher and navigate to the Unreal Engine tab.
  3. Click on the Library panel and find the Async Blueprint Tools plugin.
  4. Click the Install button to add it to your engine installation.
  5. Launch your project and enable the plugin from Edit โ†’ Plugins menu.

Option 2: Manual Installation

  1. Download the plugin package from the provided link after purchase.
  2. Unzip the package to your project's Plugins folder (create one if it doesn't exist).
  3. The final path should look like: YourProject/Plugins/AsyncBlueprintTools/
  4. Launch your project and enable the plugin from Edit โ†’ Plugins menu.

Using the Plugin

The plugin exposes a set of Blueprint nodes to help you manage threading and asynchronous operations.

Available Blueprint Nodes:

๐Ÿ”น Run Async Task

Executes a section of Blueprint logic on a background thread, keeping your game thread responsive.

  • โœ… Perfect for heavy calculations, data processing, or any logic that could cause frame hitches.
  • โŒ Do not access UI elements or engine subsystems directly from the async task body.

๐Ÿ”น Run On Game Thread

Returns execution from a background thread to the main game thread safely.

  • โœ… Use to update UI, manipulate actors, or access main-thread-only engine features.
  • โœ… Can pass data from the background thread back to the game thread.

๐Ÿ”น Async Delay

Creates a non-blocking delay within asynchronous tasks.

  • โœ… Executes on background threads without impacting the main game thread.
  • โœ… Perfect for throttling operations or creating timed intervals in background tasks.

๐Ÿ”น Run Async Loop

Creates a repeating background task with configurable intervals.

  • โœ… Ideal for continuous processing tasks like AI thinking, background loading, or monitoring.
  • โœ… Returns a loop ID that can be used to cancel the loop later.

๐Ÿ”น Cancel Async Loop

Safely terminates a running async loop.

  • โœ… Thread-safe cancellation of background loops using atomic booleans.
  • โœ… Can be called from any thread.

Implementation Example:

1. Create a Blueprint with heavy processing that needs to run without blocking gameplay

Blueprint Graph Example

2. Use "Run Async Task" to move the heavy calculation to a background thread

3. Perform your calculations on the background thread

4. Use "On Complete" callback to bring the results back to the main thread for UI updates

โš ๏ธ Thread Safety Guide

CRITICAL: Understanding Thread Safety

Even though this plugin allows you to execute Blueprint logic on background threads, Unreal Engine's thread-safety rules still apply. You cannot bypass these fundamental limitations just because the operations are exposed to Blueprint.

Think of it like C++ async code โ€” you wouldn't call GEngine->AddOnScreenDebugMessage() from a worker thread in C++ either. The same rules apply here.

โœ… SAFE in Task Body (Background Thread)

Pure operations that don't touch the game world:

  • โ€ข Math operations: Add, Multiply, Divide, Power, etc.
  • โ€ข Variable assignments: Setting integers, floats, booleans
  • โ€ข Array/Map operations: Add, Remove, Find, Sort
  • โ€ข Struct manipulation: Breaking and making structs
  • โ€ข String operations: Append, Format, Length
  • โ€ข Boolean logic: AND, OR, NOT operations

โŒ UNSAFE in Task Body (Will Fail/Crash)

Anything that accesses UObjects or the game world:

  • โ€ข Print String (accesses GEngine/viewport)
  • โ€ข Get/Set Actor Location
  • โ€ข Spawn Actor
  • โ€ข Get Component
  • โ€ข Any UObject function calls
  • โ€ข Access World/GameMode/PlayerController
  • โ€ข UI/UMG operations

๐Ÿ“‹ Examples: Wrong vs Right

โŒ

WRONG - Print String in Task Body

Run Async Task
  Task Body: Print String "Hello" โ† Will fail intermittently
  On Complete: (empty)

Why it fails: Print String tries to access GEngine and the viewport, which are not thread-safe. This causes race conditions and intermittent failures.

โœ…

RIGHT - Print String in On Complete

Run Async Task
  Task Body: MyCounter = MyCounter + 1 โ† Safe math operation
  On Complete: Print String "Task Done!" โ† Runs on game thread

Why it works: Task Body only does pure math (thread-safe). Print String runs in On Complete which executes on the game thread where it's safe.

๐ŸŽฏ The Golden Rule

Task Body: Pure calculations, data processing, heavy math only

On Complete: Game world interactions, UI updates, Print String, Actor manipulation

๐Ÿงช Testing Your Async Tasks

If you're experiencing intermittent failures or tasks that "don't fire consistently," test with simple thread-safe operations first:

Run Async Task
  Task Body: bTaskCompleted = true (or increment a counter)
  On Complete: Print String "Counter value: {counter}"

This will prove your async task IS firing every time. If it works, then the issue was using thread-unsafe nodes in Task Body.

Technical Details

Threading

  • Background logic executes in UE's thread pool
  • Game-thread-safe callbacks using AsyncTask
  • Cancelable loops use FThreadSafeBool for atomic cancellation

Code Modules

  • AsyncBlueprintTools (Runtime)

Number of Blueprints

  • 0 (All functionality is exposed through static Blueprint nodes)

C++ Classes

UAsyncBlueprintLibrary

Blueprint Function Library that exposes all core functionality to Blueprint users.

FAsyncTaskData

Internal shared object that maintains state between threads.

Network Replication

โŒ No โ€” all logic is local and runtime-threaded

Supported Development Platforms

  • Windows โœ…
  • macOS โœ…
  • Linux โœ…

Supported Target Build Platforms

  • Win64 โœ…
  • macOS โœ…
  • Linux โœ…
  • Android โœ…
  • iOS โœ…

Engine Compatibility

Compatible with Unreal Engine Versions:

5.0 โœ…
5.1 โœ…
5.2 โœ…
5.3 โœ…
5.4 โœ…
5.5 โœ…

Important: Consider using Cancel Async Loop when objects are destroyed to prevent hanging references.

Last Update: January 25, 2026

Distribution Method: Plugin

Need Help?

If you have any questions or need assistance with the plugin, feel free to reach out.

Contact Support