RealDocs

AActor::OnTakePointDamage

property Engine Blueprint Since 4.0
#include "GameFramework/Actor.h"
Access: public Specifiers: UPROPERTYBlueprintAssignable

Description

Delegate broadcast when this actor takes point damage — typically a hit-scan or projectile that supplies a precise impact location, bone name, and shot direction. Provides richer hit information than OnTakeAnyDamage.

Caveats & Gotchas

  • Only fires on the server. Clients need a separate replication path (e.g. a multicast RPC or a replicated variable) to play hit reactions.
  • Point damage is only generated when callers use UGameplayStatics::ApplyPointDamage. Generic UGameplayStatics::ApplyDamage calls will not broadcast this delegate — they broadcast OnTakeAnyDamage instead.

Signature

UPROPERTY(BlueprintAssignable, Category="Game|Damage")
FTakePointDamageSignature OnTakePointDamage

Example

Respond to point damage with bone-specific logic C++
OnTakePointDamage.AddDynamic(this, &AMyCharacter::HandlePointDamage);

void AMyCharacter::HandlePointDamage(AActor* DamagedActor, float Damage,
    AController* InstigatedBy, FVector HitLocation, UPrimitiveComponent* FHitComponent,
    FName BoneName, FVector ShotFromDirection, const UDamageType* DamageType, AActor* DamageCauser)
{
    if (BoneName == FName("head"))
    {
        // Headshot logic
    }
}

Version History

Introduced in: 4.0

Version Status Notes
5.6 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.