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.
20 results for countdown
Pattern: Variables: TimeRemaining (float), TimerHandle (TimerHandle). Start: EventBeginPlay → SetTimerByFunctionName(Object=self, FunctionName='OnTick', Time=1.0, bLooping=true). OnTick custom function: Subtract_FloatFloat(A=TimeRemaining, B=1.0) → SetVariable(TimeRemaining) → Branch(TimeRemaining <= 0) → True: ClearAndInvalidateTimerByHandle(Handle=TimerHandle) → OnTimerExpired. UI: GetHUD → CastTo<WBP_HUD> → SetTimerText(Conv_FloatToString(TimeRemaining)). Key: SetTimerByFunctionName output 'ReturnValue' is TimerHandle — save it to clear later.
Exec output is 'Completed' (NOT 'then'). Does not block — execution continues after Delay node fires.
DelayUE 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 agoK2_SetTimerDelegate. Safer than FunctionName version. Create delegate from custom event.
Set Timer by EventUE 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7updated 2mo agoUKismetSystemLibrary::RetriggerableDelay. Latent.
Retriggerable DelayUE 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7updated 2mo agoStopMontageUE 5.3, 5.4, 5.5, 5.6, 5.7updated 2mo agoPattern: Variables StartLocation(Vector), EndLocation(Vector). BeginPlay: SET StartLocation=GetActorLocation. Timeline MoveTimeline(Alpha 0→1 over Duration). Trigger overlap/button press → Play Timeline. Timeline Update: VLerp(StartLocation, EndLocation, Alpha) → SetActorLocation(Self, Result, bSweep=true). Finished: Delay → Reverse Timeline.
K2_SetTimer. Prefer SetTimerByEvent for type safety.
Set Timer by Function NameUE 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7updated 2mo agoEventTickUE 5.3, 5.4, 5.5, 5.6, 5.7updated 2mo agoIn 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).