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 fps
A SceneComponent with simulate-physics enabled. Driven by forces, gravity, collisions instead of explicit transforms.
Pattern: EventTick → GetActorLocation(TargetActor) → VInterpTo(CurrentCameraLocation, TargetLocation, DeltaSeconds, InterpSpeed) → SetActorLocation(Camera, Result). InterpSpeed 3-10 for smooth follow. Alternative: use SpringArmComponent with CameraLag enabled.
Pattern: EventTick → DeltaSeconds output → Multiply_FloatFloat(DeltaSeconds, RotationSpeed) → MakeRotator(0, 0, Result) → K2_AddActorWorldRotation(MakeRotator output). Always multiply by DeltaSeconds. Use K2_AddActorLocalRotation for self-relative spin. RotationSpeed variable default ~30-90 degrees/sec.
EventTickUE 5.3, 5.4, 5.5, 5.6, 5.7updated 3mo agoPattern: On EventAnyDamage → GetPlayerController(0) → GetPlayerCameraManager → StartCameraShake(DamageShakeClass, MapRangeClamped(Damage, 0, 100, 0.3, 1.0)). Create CameraShakeClass as BP extending UCameraShakeBase with RotOscillation and LocOscillation settings.
Moves at constant speed unlike FInterpTo which decelerates.
FInterp To ConstantUE 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7updated 3mo 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).
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.
ACharacter::LaunchCharacter. Good for knockback, bouncing, jumppads.
Launch CharacterUE 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7updated 3mo ago