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 6mo agoDoNUE 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7updated 6mo 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 6mo agoUKismetSystemLibrary::RetriggerableDelay. Latent.
Retriggerable DelayUE 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7updated 6mo agoStopMontageUE 5.3, 5.4, 5.5, 5.6, 5.7updated 6mo 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 6mo agoEventTickUE 5.3, 5.4, 5.5, 5.6, 5.7updated 6mo 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).