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.
29 results for project
APlayerController method.
Project World Location To ScreenUE 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 agoMake ColorUE 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7updated 2mo agoProjectPointToNavigationUE 5.3, 5.4, 5.5, 5.6, 5.7updated 2mo agoUNiagaraFunctionLibrary::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 agoUPrimitiveComponent method. Store result in variable and reuse. Create once in BeginPlay.
Create Dynamic Material InstanceUE 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7updated 2mo agoUKismetMathLibrary::MakeRotator. NOT MakeRot.
MakeRotatorUE 5.4, 5.7updated 2mo agoPattern for snapping object to ground: GetActorLocation → Add Vector(Z=+1000) → as TraceStart. GetActorLocation → Subtract Vector(Z=1000) → as TraceEnd. LineTraceByChannel(Start=TraceStart, End=TraceEnd, TraceChannel=Visibility) → Branch(ReturnValue=true) → BreakHitResult → SetActorLocation(NewLocation=ImpactPoint) → SetActorRotation(NewRotation=MakeRotFromZ(Normal)) [align to surface normal]. MakeRotFromZ takes a 'Z' input Vector and outputs Rotator aligned to that normal.
1. TICK MANAGEMENT: - Disable tick on static actors (SetActorTickEnabled=false). - Use SetActorTickInterval(0.1-0.5) for AI, non-critical systems. - Prefer event-driven over tick polling where possible. 2. AVOID EVERY-TICK EXPENSIVE CALLS: - GetAllActorsOfClass: cache in BeginPlay, refresh only when needed. - CastTo: cache result in variable after first cast. - GetComponentByClass: call once and store reference. 3. VISIBILITY: - SetActorHiddenInGame + SetActorTickEnabled=false for off-screen actors. - Use LOD (Level of Detail) on meshes. 4. SPAWNING: - Use object pooling for frequently spawned/destroyed actors (bullets, effects). 5. EVENTS OVER POLLING: - Use overlap events instead of periodic distance checks. - Use delegates/dispatchers instead of checking conditions each frame.
MISTAKE 1: Calling GetAllActorsOfClass every Tick. FIX: Cache results in BeginPlay or use delegates/tags instead. MISTAKE 2: Not checking IsValid before using object references. FIX: Always IsValid → Branch → Is Valid before dereferencing. MISTAKE 3: Using hard references to large assets in variables. FIX: Use Soft Object References + AsyncLoadAsset. MISTAKE 4: Tick enabled on many actors doing heavy work. FIX: SetActorTickInterval(0.1) for non-critical logic, or use Timers. MISTAKE 5: Casting to specific class without checking IsValid first. FIX: CastTo has 'Cast Failed' output — always handle it. MISTAKE 6: Modifying array elements by getting then setting a copy. FIX: Use 'Array Set' with index to modify in-place. MISTAKE 7: Creating widget every time it's shown. FIX: Create once → cache reference → show/hide with SetVisibility or Add/RemoveFromParent.