RealDocs

UActorComponent::ReceiveAsyncPhysicsTick

function Engine Blueprint Since 5.0
#include "Components/ActorComponent.h"
Access: public Specifiers: UFUNCTIONBlueprintImplementableEvent

Description

Blueprint-implementable event called on each async physics sub-step when bAsyncPhysicsTickEnabled is true. Runs on the physics thread, not the game thread.

Caveats & Gotchas

  • This callback executes on the physics thread — accessing game-thread-only objects (e.g. UWorld, most UObjects) without proper synchronisation will cause data races or crashes.
  • bAsyncPhysicsTickEnabled must be set to true on the component for this event to fire; it defaults to false. The component's owner actor must also have async physics enabled.

Signature

ENGINE_API void ReceiveAsyncPhysicsTick(float DeltaSeconds, float SimSeconds)

Parameters

Name Type Description Default
DeltaSeconds float Physics sub-step delta time in seconds.
SimSeconds float Total elapsed simulation time since the physics sim began.

Return Type

void

Example

Override in C++ via AsyncPhysicsTickComponent C++
// Override the C++ hook, which calls ReceiveAsyncPhysicsTick for Blueprints:
void UMyComponent::AsyncPhysicsTickComponent(float DeltaTime, float SimTime)
{
	// Physics-thread-safe operations only
	FVector NewForce = ComputeForce(DeltaTime);
	GetOwner()->GetRootPrimitiveComponent()->AddForce(NewForce);
}

Version History

Introduced in: 5.0

Version Status Notes
5.6 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.