Knowledge base
Knowledge base
Knowledge base
Free, anonymous browsing of Unreal Engine Blueprint examples, node references, and best practices. The same content the WoalzCraft plugin uses to generate Blueprints.
21 results for death
Pattern: EventAnyDamage → Subtract_FloatFloat(A=CurrentHealth, B=Damage) → Clamp(Value=Result, Min=0, Max=MaxHealth) → SetVariable(Health=ClampResult) → Branch(Condition=(Health <= 0)) → True: call OnDeath custom event. Variables needed: Health (float), MaxHealth (float). EventAnyDamage output pin is 'Damage' (float). Clamp inputs: 'Value', 'Min', 'Max'. All floats.
In Character BP: OnDied (custom event) → SetActorHiddenInGame(true) → SetActorEnableCollision(false) → Disable input: GetController → DisableInput → Delay(Duration=3.0) → GetGameMode → CastTo<BP_GameMode> → RestartPlayer(GetController) → SetActorHiddenInGame(false) → SetActorEnableCollision(true) → EnableInput. In GameMode RestartPlayer: Gets nearest PlayerStart → SetActorLocation to PlayerStart → calls OnPossess. OR manual: GetAllActorsOfClass(PlayerStart) → Random select → SetActorLocationAndRotation(PlayerStart.Location, PlayerStart.Rotation).
Pattern: On Health<=0 → DisableInput(PC) → PlayMontage(DeathAnim) → Delay(DeathAnimDuration) → GetActorOfClass(PlayerStart) → TeleportTo(SpawnPoint.Location, SpawnPoint.Rotation) → SET Health=MaxHealth → EnableInput(PC). For checkpoint: store last checkpoint location variable, update on overlap with checkpoint triggers.
Pattern: custom OnDeath event → GetCharacterMovement → DisableMovement() → GetMesh → SetSimulatePhysics(bSimulate=true) → SetCollisionEnabled(NoCollision) on CapsuleComponent. Key: SetSimulatePhysics is called on the MESH component (SkeletalMeshComponent), NOT on the actor or CharacterMovementComponent. Also set collision profile: SetCollisionProfileName('Ragdoll') on the mesh.
string
Pattern: Variables RegenRate(float)=5.0, RegenDelay(float)=3.0, RegenTimerHandle. On damage received: ClearTimer(RegenTimerHandle) → SET timer(RegenDelay, RegenTick, looping=true). RegenTick function: Branch(Health < MaxHealth) → True: SET Health = FClamp(Health + RegenRate*DeltaSeconds, 0, MaxHealth). False: ClearTimer.
Dealing damage: Event → ApplyDamage(TargetActor, BaseDamage, InstigatorController, DamageCauser, DamageTypeClass). Receiving: EventAnyDamage → Damage output → Subtract_FloatFloat(CurrentHealth, Damage) → FClamp(Result, 0, MaxHealth) → SET CurrentHealth → Branch(CurrentHealth <= 0) → True: DestroyActor. Initialize CurrentHealth=MaxHealth in BeginPlay.
Event AnyDamageUE 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7updated 2mo agoDoNUE 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7updated 2mo ago