{ }Blueprint → C++

Unreal Engine 5 · Blueprint → C++

Apply Damage in Unreal Engine 5 C++

The Blueprint Apply Damage node maps to UGameplayStatics::ApplyDamage(), which deals a point of damage to an actor and triggers its TakeDamage event.

Blueprint node & C++ equivalent

Apply Damage Blueprint node and its C++ equivalent in Unreal Engine 5
The “Apply Damage” Blueprint node.
C++
#include "Kismet/GameplayStatics.h"

AController* EventInstigator;
AActor* DamagedActor;
AActor* DamageCauser;

UGameplayStatics::ApplyDamage(
	DamagedActor,                  // Damaged actor
	100.0f,                        // Damage amount
	EventInstigator,               // Instigator
	DamageCauser,                  // Damage causer
	UDamageType::StaticClass()     // Damage type
);

What does the Apply Damage node do?

Apply Damage deals a fixed amount of damage to a single target actor and routes it through Unreal's damage pipeline. The damaged actor receives the value through its TakeDamage / OnTakeAnyDamage path, where health logic typically subtracts the amount.

The node carries metadata about who caused the hit so gameplay code can attribute kills, apply knockback, or award score.

The C++ equivalent

Call UGameplayStatics::ApplyDamage() after including Kismet/GameplayStatics.h. The parameters are the damaged AActor*, the float damage amount (100.0f here), the AController* instigator, the AActor* damage causer, and a damage type class such as UDamageType::StaticClass().

The instigator is the controller responsible for the damage, while the damage causer is the actor that physically applied it (for example a projectile).

How to receive the damage in C++

Override AActor::TakeDamage in the target class to react to the incoming value, or bind to the OnTakeAnyDamage dynamic delegate. Always call Super::TakeDamage so engine-level handling still runs before your custom health logic.

Frequently asked questions

What is the C++ function for Apply Damage in UE5?+

Use UGameplayStatics::ApplyDamage() from Kismet/GameplayStatics.h, passing the damaged actor, damage amount, instigator controller, damage causer, and a damage type class.

What is the difference between the instigator and damage causer?+

The instigator is the AController responsible for the damage, and the damage causer is the AActor that actually applied it, such as a weapon or projectile.

Related Utilities nodes

View all Utilities nodes →