UActorComponent::ReceiveAsyncPhysicsTick
#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);
} See Also
Tags
Version History
Introduced in: 5.0
| Version | Status | Notes |
|---|---|---|
| 5.6 | stable | — |
Feedback
Was this helpful?