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 sprint
Pattern: Variables bIsSprinting(bool), Stamina(float)=100, MaxStamina(float)=100, SprintSpeed(float)=1200, WalkSpeed(float)=600, DrainRate(float)=20, RecoverRate(float)=10. Sprint pressed: bIsSprinting=true → SetMaxWalkSpeed(SprintSpeed). Released: bIsSprinting=false → SetMaxWalkSpeed(WalkSpeed). Tick: Branch(bIsSprinting) → Stamina -= DrainRate*DT. Else: Stamina += RecoverRate*DT. Clamp(0, Max). If Stamina<=0 → force stop sprint.
1. DIRECT REFERENCE (tightest coupling): Get reference → CastTo<BP_Other> → call function. Use when: actor A always knows about actor B (e.g. Player → HUD). 2. CAST via GetAllActorsOfClass (loose): find → cast → call. Use when: you need to find actors dynamically. 3. EVENT DISPATCHER (loose): Owner calls dispatcher → listeners receive event. Use when: one actor notifies many others (e.g. death notification). 4. BLUEPRINT INTERFACE (loosest): Call interface message → any implementing actor responds. Use when: multiple different actor types should respond to same action (e.g. 'Interact'). 5. GAME INSTANCE (persistent): Store shared data in GameInstance → GetGameInstance → Cast. Use when: data must survive level loads.
Pattern: Pickup actor with SphereCollision(overlap), StaticMesh visual. OnComponentBeginOverlap → CastTo PlayerCharacter → Success: call AddScore/AddItem interface on player → PlaySoundAtLocation → SpawnEmitterAtLocation → DestroyActor(self). Set collision to OverlapOnlyPawn for performance.
Pattern: 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.
Pattern: Variables CurrentWave(int)=0, EnemiesAlive(int)=0, EnemiesPerWave(Array<int>). StartWave: CurrentWave++ → SET EnemiesAlive=EnemiesPerWave[CurrentWave]. Timer looping: Branch(SpawnedThisWave < EnemiesPerWave[CurrentWave]) → SpawnActor(EnemyClass, RandomSpawnPoint) → SpawnedThisWave++. OnEnemyDeath: EnemiesAlive-- → Branch(EnemiesAlive <= 0) → StartNextWave or Victory.
string
One-shot force. bVelChange=true treats Impulse as velocity change.
Add ImpulseUE 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7updated 2mo agoLegacy Cascade system. Prefer Niagara (SpawnSystemAtLocation) for new projects.
SpawnEmitterAtLocationUE 5.3, 5.4, 5.5, 5.6, 5.7updated 2mo agoDealing 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.
Get Target Arm LengthUE 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7updated 2mo ago