Agent skill

Unreal Niagara

by ukanwat in ukanwat/overtime

Create and control VFX in Unreal Engine 5 with Niagara: systems and emitters, modules and the spawn/update stages, exposed User parameters, and spawning or driving effects from Blueprints or C++.

Apache-2.0Auto-check passedGame Development

Install Unreal Niagara

skills CLI
$ npx skills add ukanwat/overtime --skill unreal-niagara -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ukanwat/overtime unreal-niagara --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ukanwat/overtime.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/unreal-niagara .claude/skills/unreal-niagara && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
unreal-niagara
GitHub stars
387
Used in
1 other repo
Token cost
~1.5k tokens
SKILL.md length
493 words
Files
1
Skills in repo
21
Repo updated
First seen
Licence
Apache-2.0

At a glance

Create and control VFX in Unreal Engine 5 with Niagara: systems and emitters, modules and the spawn/update stages, exposed User parameters, and spawning or driving effects from Blueprints or C++.

  • Works in 4 steps: Spawn a one-shot effect at a world… → Spawn attached to a socket (muzzle flash… → Drive an exposed User parameter at runtime → …
  • Building particle effects
  • SKILL.md covers When to use, Core workflow, Patterns and Pitfalls, plus 2 more sections
  • Reaches dev.epicgames.com

What it does

Unreal Niagara is an agent skill from ukanwat/overtime. Create and control VFX in Unreal Engine 5 with Niagara: systems and emitters, modules and the spawn/update stages, exposed User parameters, and spawning or driving effects from Blueprints or C++. Use when building particle effects, NS/NE assets, spawning a Niagara system at runtime, setting User parameters, or when the user mentions Niagara, VFX, or a particle system in Unreal.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Unreal Engine 5.4+ (Niagara is the current VFX system; Cascade is legacy)

It sits in Game Development, covering Game development. It works with C++ and Unreal Engine. The repository describes itself as: Give a coding agent a brief, not a chat, and it works on its own across sessions. Includes an example run: an open-world city built in a real game engine with no human help. In… The licence is Apache-2.0.

When your agent uses it

  • Building particle effects
  • Spawning a Niagara system at runtime
  • Setting User parameters
  • The user mentions Niagara

Example prompts

  • “/unreal-niagara”

Requirements

  • Compatibility (from SKILL.md): Unreal Engine 5.4+ (Niagara is the current VFX system; Cascade is legacy)

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Spawn a one-shot effect at a world location (C++)
  2. Spawn attached to a socket (muzzle flash that follows the gun)
  3. Drive an exposed User parameter at runtime
  4. Blueprint equivalent (node flow)

What it can do on your machine

Read from SKILL.md and the folder at commit eac84e0. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are cpp).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • dev.epicgames.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Unreal Engine 5.4+ (Niagara is the current VFX system; Cascade is legacy)

    From compatibility in the SKILL.md frontmatter.

Context cost

Unreal Niagara loads about 1.5k tokens when it runs. Until then it costs about 99 tokens; SKILL.md has 493 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~99
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ukanwat/overtime at commit eac84e0, republished under its Apache-2.0 licence (© ukanwat). 493 words, ~1,501 tokens.

Download SKILL.mdSave it as .claude/skills/unreal-niagara/SKILL.md (or your agent's skills folder).
name
unreal-niagara
description
Create and control VFX in Unreal Engine 5 with Niagara: systems and emitters, modules and the spawn/update stages, exposed User parameters, and spawning or driving effects from Blueprints or C++. Use when building particle effects, NS_/NE_ assets, spawning a Niagara system at runtime, setting User parameters, or when the user mentions Niagara, VFX, or a particle system in Unreal.
compatibility
Unreal Engine 5.4+ (Niagara is the current VFX system; Cascade is legacy)
license
Apache-2.0
metadata.engine
unreal
metadata.category
unreal
metadata.difficulty
advanced

Unreal Niagara VFX

Build and control real-time visual effects in UE5 with Niagara: understand the System/Emitter/Module hierarchy, expose parameters you can drive from gameplay, and spawn effects at runtime. Targets UE 5.4+. (Niagara replaces the legacy Cascade system.)

When to use

  • Use when creating a Niagara System (NS_) and Emitters (NE_), wiring modules in the spawn/update stages, exposing User parameters to gameplay, or spawning/driving an effect (impact, muzzle flash, fire, magic) from Blueprint or C++.
  • Use when the project has Niagara NS_/NE_ assets or references UNiagaraComponent.

When not to use: material/shader authoring (the look of a surface, not particles) is a separate topic; shader-programming covers cross-engine shader concepts. Audio for the effect → audio-design.

Core workflow

  1. Understand the hierarchy. A Niagara System (NS_) is the effect you place/spawn; it contains one or more Emitters (NE_, often emitter templates). Each emitter runs in stages: Emitter Spawn/Update, Particle Spawn/Update, optional Event Handler, and Render.
  2. Build behaviour from Modules, which execute top-to-bottom in each stage (Spawn Rate, Add Velocity, Gravity Force, Color over Life, etc.). Order matters — a later module reads the values earlier ones wrote.
  3. Know the parameter namespaces: System, Emitter, Particle, and User. Only User-namespace parameters are exposed to and settable from Blueprint/C++; the others are internal to the simulation.
  4. Spawn at runtime with UNiagaraFunctionLibrary::SpawnSystemAtLocation (world position) or SpawnSystemAttached (follows a component/socket), which return a UNiagaraComponent.
  5. Drive the effect by setting its User parameters on the returned component (color, spawn rate, a target position) and Activate/Deactivate it.
  6. Verify in the Niagara editor preview and in-level; check bounds (especially GPU emitters), and confirm the effect culls/destroys correctly.

Patterns

1. Spawn a one-shot effect at a world location (C++)
cpp
#include "NiagaraFunctionLibrary.h"
#include "NiagaraComponent.h"

// ImpactSystem is a UPROPERTY(EditAnywhere) TObjectPtr<UNiagaraSystem>.
void AProjectile::SpawnImpact(const FVector& Location, const FRotator& Rotation)
{
    UNiagaraComponent* FX = UNiagaraFunctionLibrary::SpawnSystemAtLocation(
        GetWorld(), ImpactSystem, Location, Rotation);
    // FX auto-destroys when finished for a one-shot (system marked non-looping).
}
2. Spawn attached to a socket (muzzle flash that follows the gun)
cpp
UNiagaraComponent* Muzzle = UNiagaraFunctionLibrary::SpawnSystemAttached(
    MuzzleSystem, WeaponMesh, FName("MuzzleSocket"),
    FVector::ZeroVector, FRotator::ZeroRotator,
    EAttachLocation::SnapToTarget, /*bAutoDestroy*/ true);
Show full SKILL.md (200 more words)Show less
3. Drive an exposed User parameter at runtime
cpp
// Only User-namespace parameters can be set from gameplay. Names match the User parameter.
if (UNiagaraComponent* Fire = UNiagaraFunctionLibrary::SpawnSystemAttached(
        FireSystem, RootComponent, NAME_None, FVector::ZeroVector, FRotator::ZeroRotator,
        EAttachLocation::KeepRelativeOffset, /*bAutoDestroy*/ false))
{
    Fire->SetVariableFloat(FName("SpawnRate"), 250.f);                 // User.SpawnRate
    Fire->SetVariableLinearColor(FName("FireColor"), FLinearColor::Red);
}
4. Blueprint equivalent (node flow)
text
Spawn System at Location (System = NS_Impact, Location, Rotation)  -> returns Niagara Component
On the returned component:
  Set Niagara Variable (Float)  Name="SpawnRate"  Value=250
  Set Niagara Variable (LinearColor)  Name="FireColor"  Value=Red

Pitfalls

  • Trying to set a System/Emitter/Particle parameter from gameplay — it won't take. Expose it in the User namespace; only User parameters are settable via the component.
  • Using Cascade tutorials — Cascade is legacy/deprecated. Niagara is the current system; the emitter/module workflow differs.
  • Effect disappears or doesn't cull right — fixed/incorrect bounds, especially for GPU Compute emitters which need explicit Fixed Bounds. Set bounds on the emitter/system.
  • Looping effect never stops — spawned with bAutoDestroy = false and never Deactivate()d; manage the returned component's lifetime, or mark the system non-looping for one-shots.
  • GPU sim can't drive gameplay — GPU particle data isn't readily read back to the CPU; collision/events that gameplay must react to should use CPU emitters (or Niagara → gameplay via the data interface), not GPU.
  • Module order bugs — a Force/Velocity module placed before the one that initializes the value reads zero. Mind the top-to-bottom stack order.

References

  • Primary docs: "Overview of Niagara Effects" (https://dev.epicgames.com/documentation/en-us/unreal-engine/overview-of-niagara-effects-for-unreal-engine) and the UNiagaraFunctionLibrary / UNiagaraComponent API. Add the Niagara module to *.Build.cs for C++ access.
  • shader-programming — material/shader concepts for particle materials.
  • unreal-cpp-gameplay — spawning effects from gameplay code and module setup.
  • unreal-blueprints — triggering effects from visual scripts.

© ukanwat, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/unreal-niagara of ukanwat/overtime.

Open the folder on GitHubat commit eac84e0

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in ukanwat/overtime, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Unreal Niagara next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Unreal Niagara compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Unreal Niagara this skillukanwat/overtime3871 repos~1.5kAutomated safety check: PassApache-2.0
Unreal Engine MCPEpicGames/unreal-engine-skills-for-claude-code-plugin338—~1.8kAutomated safety check: PassMIT
Unreal Actor-Component Architecturequodsoler/unreal-engine-skills362—~7.5kAutomated safety check: PassMIT
Unreal Engine Animation Systemquodsoler/unreal-engine-skills362—~7kAutomated safety check: PassMIT
Unreal Engine Async and Threadingquodsoler/unreal-engine-skills362—~8kAutomated safety check: PassMIT
Unreal Blueprint and C++ Interopquodsoler/unreal-engine-skills362—~7.8kAutomated safety check: PassMIT

Similar skills

  • Unreal Engine MCP

    EpicGames/unreal-engine-skills-for-claude-code-plugin

    Drives a live Unreal Editor through the unreal-mcp server: spawn actors, edit Blueprints, materials and sequences, change properties and trigger Live Coding.

    338 GitHub stars~1.8k tokensUpdated 24 days ago
    Game DevelopmentAuto-check passed
  • Unreal Actor-Component Architecture

    quodsoler/unreal-engine-skills

    Unreal Engine C++ guidance for AActor and UActorComponent: lifecycle hooks, spawning, component creation and attachment, ticking, interfaces and composition.

    362 GitHub stars~7.5k tokensUpdated 12 days ago
    Game DevelopmentAuto-check passed
  • Unreal Engine Animation System

    quodsoler/unreal-engine-skills

    Reference for writing and debugging Unreal Engine 5.8 animation C++: AnimInstance and proxy, montages, notifies, curves, blend spaces, state machines, linked layers and root motion.

    362 GitHub stars~7k tokensUpdated 12 days ago
    Game DevelopmentAuto-check passed
  • Unreal Engine Async and Threading

    quodsoler/unreal-engine-skills

    Picks and applies the right Unreal Engine C++ concurrency API, from UE::Tasks and FPipe to ParallelFor, FRunnable, locks and timers, with game-thread safety rules.

    362 GitHub stars~8k tokensUpdated 12 days ago
    Game DevelopmentAuto-check passed
  • Unreal Blueprint and C++ Interop

    quodsoler/unreal-engine-skills

    Reference for exposing Unreal Engine C++ to Blueprint and calling Blueprint from C++, covering UFUNCTION and UPROPERTY specifiers, latent and async nodes, and interfaces.

    362 GitHub stars~7.8k tokensUpdated 12 days ago
    Game DevelopmentAuto-check passed
  • Unreal Character Movement Component

    quodsoler/unreal-engine-skills

    Reference for writing and debugging UCharacterMovementComponent code in Unreal Engine C++: custom movement modes, floor detection, root motion, prediction and gravity.

    362 GitHub stars~8.5k tokensUpdated 12 days ago
    Game DevelopmentAuto-check passed

More from ukanwat/overtime

All 21 skills in this repo
  • Audio Design

    ukanwat/overtime

    Implement game audio practice — bus/mixer architecture and gain in decibels, ducking (sidechain), adaptive/dynamic music via layering and re-sequencing, SFX variation, and beat synchronization.

    387 GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check passed
  • Camera Systems

    ukanwat/overtime

    Build game cameras that feel good — 2D follow with a deadzone, look-ahead, smoothing, and level-bounds clamping; 3D third-person orbit with collision and first-person look; plus multi-target framing…

    387 GitHub starsUsed in 1 repo~2.2k tokens
    Auto-check passed
  • Dialogue Systems

    ukanwat/overtime

    Build branching dialogue and narrative — a node/choice graph with conditions, variables, and localization hooks — and choose between authoring tools Ink and Yarn Spinner or a custom data-driven…

    387 GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check passed
  • Game AI

    ukanwat/overtime

    Design NPC and enemy decision-making with finite state machines, behavior trees, steering behaviors, and A pathfinding — engine-neutral algorithms that pair with the detected engine's navigation API.

    387 GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check passed
  • Game Feel

    ukanwat/overtime

    Add "juice" and game feel that makes actions satisfying — screen shake, hit-stop/freeze frames, tweened/eased motion, squash & stretch, knockback, and layered audio-visual feedback — as…

    387 GitHub starsUsed in 1 repo~2.3k tokens
    Auto-check passed
  • Game UI UX

    ukanwat/overtime

    Design and build game UI/UX — HUDs, menus, and overlays — that survive every screen: anchor- based responsive layout, resolution/aspect scaling and safe areas, keyboard/gamepad focus navigation, a…

    387 GitHub starsUsed in 1 repo~2.2k tokens
    Auto-check passed

Questions about Unreal Niagara

What does Unreal Niagara do?

Create and control VFX in Unreal Engine 5 with Niagara: systems and emitters, modules and the spawn/update stages, exposed User parameters, and spawning or driving effects from Blueprints or C++. Unreal Niagara is an agent skill from ukanwat/overtime. Create and control VFX in Unreal Engine 5 with Niagara: systems and emitters, modules and the spawn/update stages, exposed User parameters, and spawning or driving effects from Blueprints or C++.

When should I use Unreal Niagara?

Unreal Niagara fits situations like: building particle effects; spawning a Niagara system at runtime; setting User parameters; the user mentions Niagara.

How do I install Unreal Niagara in Claude Code?

Run `npx skills add ukanwat/overtime --skill unreal-niagara -a claude-code`. Or copy the skill folder (.claude/skills/unreal-niagara in ukanwat/overtime) into .claude/skills/unreal-niagara in your project. Claude Code loads it when a task matches its description.

How do I install Unreal Niagara in Codex?

Run `npx skills add ukanwat/overtime --skill unreal-niagara -a codex`. Or copy the skill folder (.claude/skills/unreal-niagara in ukanwat/overtime) into .agents/skills/unreal-niagara in your project. Codex loads it when a task matches its description.

Can I use Unreal Niagara in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ukanwat/overtime --skill unreal-niagara -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/unreal-niagara, .gemini/skills/unreal-niagara, .github/skills/unreal-niagara and .opencode/skills/unreal-niagara in your project.

What does Unreal Niagara need to run?

SKILL.md names no scripts, command-line tools or credentials: Unreal Niagara is instructions for the agent only. Compatibility (from SKILL.md): Unreal Engine 5.4+ (Niagara is the current VFX system; Cascade is legacy).

Does Unreal Niagara access the network?

SKILL.md names 1 domain. In commands or code: dev.epicgames.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Unreal Niagara safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Unreal Niagara use?

Unreal Niagara is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Unreal Niagara use?

About 1.5k tokens (SKILL.md is roughly 6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Unreal Niagara?

Skills that share tags, products or a category with Unreal Niagara: Unreal Engine MCP (EpicGames/unreal-engine-skills-for-claude-code-plugin, 338 stars), Unreal Actor-Component Architecture (quodsoler/unreal-engine-skills, 362 stars), Unreal Engine Animation System (quodsoler/unreal-engine-skills, 362 stars) and Unreal Engine Async and Threading (quodsoler/unreal-engine-skills, 362 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Unreal Niagara?

ukanwat (a GitHub user) maintains it in ukanwat/overtime, which has 387 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 8, 2026.

Source: ukanwat/overtime on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.