Quick answer: Unreal Blueprint async task firing on a destroyed actor? Async nodes hold weak references but don't check them - bind to OnDestroyed and Cancel the task.

Async download completes. Calls back into a now-destroyed actor's blueprint. Crash.

Cancel on destroy

In EndPlay or OnDestroyed, explicitly Cancel any in-flight async task. The completion callback won't fire on a destroyed object.

Use a UAsyncAction subclass

Custom UAsyncAction with SetReadyToDestroy on owner-destroyed. Engine handles the lifecycle correctly.

Check Validity in callback

First line of callback: IsValid(self). Early-exit if no longer valid. Defensive but reliable.

“Async lifetimes outlive their callers. Explicit cancellation is the only safe pattern.”

If you have async tasks holding actor references, audit them all. The class is straightforward to find once you go looking.