Federico Grenoville - Async Physics Debug Draw

Async Physics Debug Draw

When working in Unreal Engine 5 with Async Physics Tick, one of the first problems you run into is debug visualization.

The usual DrawDebug* helpers are extremely useful when you want to understand what your simulation is doing, but they are not safe to call directly from the Physics Thread.
If you try to draw lines, spheres, arrows, or other debug shapes directly from async physics code, you can easily end up with instability or crashes, because debug rendering must happen on the Game Thread.

That becomes a real limitation as soon as you want to inspect things like:

  • forces and impulses applied during simulation

  • movement vectors and predicted paths

  • impact points and hit normals

  • custom traces or spatial queries performed inside the Physics Tick

This plugin solves this by providing a simple bridge between the Physics Thread and the Game Thread.

Instead of drawing immediately, your async simulation code simply enqueues lightweight debug draw commands.
Those commands are then collected and rendered safely later on the Game Thread, so you get the visualization you need without having to build your own thread-handoff system.

This keeps your debug workflow much cleaner:

  • no unsafe direct draw calls from async physics

  • no repeated AsyncTask workarounds

  • no ad-hoc global buffers or custom dispatch code

  • no need to manually flush debug rendering from every actor

The plugin supports both C++ and Blueprint, and is designed to feel natural in either workflow.

You can use it to draw:

  • debug lines

  • directional arrows

  • spheres

It also includes category-based filtering, so you can organize your debug visualization by system and enable only what you need at runtime.
Categories are defined through a Data Asset, and can be controlled during play with console commands.

That makes it especially useful when debugging larger simulation systems where you may want to isolate only one aspect at a time.

In short, this plugin is meant for developers who are working with async simulation in UE5 and need a safe, reusable way to visualize what is happening inside the Physics Thread.

If your workflow involves debugging forces, traces, velocities, offsets, trajectories, or any other simulation data produced during async physics, this plugin gives you a clean way to see it on screen without fighting thread safety.