What problem does it solve? Writing correct Unreal Engine C++ code for Niagara VFX requires knowing exact API signatures, the system/emitter/module hierarchy, parameter namespaces, and CPU vs GPU simulation trade-offs. This Skill gives an AI agent the domain knowledge to spawn, attach, parameterize, and manage the lifetime of Niagara effects without guessing at deprecated APIs or hitting silent failures. ## Core Features & Use Cases - Spawning and attaching effects: Use UNiagaraFunctionLibrary::SpawnSystemAtLocation and SpawnSystemAttached for fire-and-forget bursts or socket-attached effects, with correct bAutoDestroy and pooling semantics. - Runtime parameter control: Set User Parameters from C++ with SetVariableFloat, SetVariableVec3, SetVariableActor, and related typed setters, avoiding deprecated SetNiagaraVariable* string overloads. - CPU vs GPU and Data Interfaces: Choose the right simulation path, bind skeletal/static mesh Data Interfaces, and use Niagara Data Channels for cross-system communication. - Use Case: When a weapon hits a surface, spawn an impact effect at the hit location, orient it to the impact normal, and pass damage and surface color as User Parameters so the effect reacts to gameplay. ## Quick Start Use the ue-niagara-vfx skill to spawn an explosion Niagara system at a hit location and set its intensity and color parameters from C++.