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.
22 results for subsystem
Pure node. For GameInstance subsystems: GetGameInstance → GetSubsystem. For World subsystems: GetWorld → GetSubsystem. Subsystems are auto-instanced singletons — great for organizing game systems.
GetSubsystemUE 5.3, 5.4, 5.5, 5.6, 5.7updated 2mo agoGet Enhanced Input Local Player SubsystemUE 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7updated 2mo agoSETUP: Create Blueprint inheriting UGameInstanceSubsystem (or UWorldSubsystem for level-scoped). Override Initialize(Collection) to set up. Override Deinitialize to clean up. Add game variables here (Score, PlayTime, Settings). ACCESS FROM ANYWHERE: GetGameInstance → GetSubsystem(BP_GameSubsystem) → CastTo<BP_GameSubsystem> → access variables. WHY: Subsystems auto-create, auto-destroy, and don't need FindActor. Better than GameInstance for well-organized systems. UGameInstanceSubsystem persists across levels. UWorldSubsystem is recreated each level.
UEnhancedInputLocalPlayerSubsystem::AddMappingContext. Get subsystem via GetEnhancedInputLocalPlayerSubsystem.
Add Mapping ContextUE 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7updated 2mo agoA child level streamed in/out of a persistent level. Used for open-world streaming and modular maps.
UNiagaraFunctionLibrary::SpawnSystemAtLocation. bAutoDestroy=true for fire-and-forget. Use SpawnSystemAttached to attach to a component.
SpawnSystemAtLocationUE 5.3, 5.4, 5.5, 5.6, 5.7updated 2mo agoUE 5.0+ next-gen sound system — node graphs for procedural audio. Replaces Sound Cue for new projects.
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.
A SceneComponent with simulate-physics enabled. Driven by forces, gravity, collisions instead of explicit transforms.
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.