Ue Niagara Flamethrower logo

Ue Niagara Flamethrower

Community
kevinpbuckley
ue-niagara-flamethrower

Build a continuous flamethrower visual effect in Unreal Engine 5.8 Niagara. Use when making a weapon flame jet, fuel plume, fire breath, or similar nozzle-attached effect with smoke, embers, heat distortion, runtime controls, and gameplay hit detection.

Overview

Publisherkevinpbuckley
Repositoryunreal-engine-skills
Skill nameue-niagara-flamethrower
Stars
89
Forks
9
Bundled files
Instructions only
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by kevinpbuckley on GitHub. Read the source before you install it.

Installation

Install the Ue Niagara Flamethrower AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/kevinpbuckley/unreal-engine-skills/tree/master/skills/core/ue-niagara-flamethrower
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/kevinpbuckley/unreal-engine-skills.git /tmp/unreal-engine-skills
mkdir -p .claude/skills
cp -r /tmp/unreal-engine-skills/skills/core/ue-niagara-flamethrower .claude/skills/ue-niagara-flamethrower
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Ue Niagara Flamethrower in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Ue Niagara Flamethrower on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Ue Niagara Flamethrower is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Niagara flamethrower

Use this skill for a sustained flame emitted from a moving muzzle. Use ue-niagara-vfx for the general Niagara system, emitter, and component model. This skill covers the design decisions specific to a flame jet: a stable origin, particles that detach into the world, a readable hot core and cooler edges, and a clean boundary between visuals and damage.

Work with the project's existing Niagara systems, materials, textures, meshes, and weapon setup when they fit the request. The layers and parameter names below are design options, not required assets or a required content pack. Create or replace assets only when the user's actual effect calls for them.

Effect structure

For a layered effect, use separate emitters for the flame body, sparse embers, and smoke when those layers serve the desired look. Add heat distortion only if the project has a suitable material and the target platform can afford it. Tune each included emitter's spawn rate, lifetime, size, color, and scalability budget; a single dense emitter can be hard to tune and expensive to overdraw. A continuous jet needs an indefinitely looping emitter with a spawn rate; a one-shot burst template is only a starting point.

LayerVisual purposePractical setup
Hot coreImmediate, directional flame at the nozzleShort-lived bright sprites with a narrow velocity cone and a high initial speed
Outer flameBroken, turbulent silhouetteWider cone, varied size and lifetime, animated flame texture, color and alpha over normalized age
EmbersIndividual sparks that outlive the jetLow spawn rate, longer lifetime, drag and gravity; avoid a solid wall of sparks
SmokeCooling and decayDelayed or offset start, longer lifetime, darker translucent sprites that expand and fade
Heat distortionAir shimmer close to the sourceSeparate, tightly bounded material layer; disable first on constrained platforms

Use the system component or emitter origin at the weapon muzzle. Confirm that the emitter's forward axis matches the mesh socket's forward axis. For a moving weapon, particles should spawn at the current nozzle transform and then continue in world space. A local-space emitter makes existing particles rotate and translate with the weapon, which often bends the whole plume unnaturally. A nozzle flash may intentionally use local space as a separate layer.

For an animated flame atlas, set the Sprite Renderer subimage grid to the atlas's actual rows and columns. Drive SubUV Animation over particle age, randomize the starting frame when repeated frames look synchronized, and enable subimage blending when interpolation helps the particular texture. Rotate sprites independently so individual flame cards do not reveal a uniform orientation. These choices depend on the texture already available; no specific atlas is required.

Author the flame's length as a combination of particle speed and lifetime, then tune the spread angle and drag. A narrow cone velocity along the muzzle axis is usually the main directional control. For example, a faster core and slower outer flame produce a bright leading direction with an irregular edge. Use color and size curves over normalized age so particles begin hot and small, broaden, cool, and fade. Add modest random ranges to lifetime, speed, size, and initial rotation so the jet does not repeat visibly. Keep the overall effect legible from the intended gameplay camera before increasing particle count.

Smoke can inherit the flame emitter's basic movement, then diverge: use a translucent material when dark smoke must show against the scene, reduce or recolor its initial tint, offset its spawn region toward the cooling end of the jet, and fade alpha over lifetime. A second, shorter, tighter flame near the nozzle can suggest a hotter core without forcing the whole plume to the same brightness or speed. Sparse embers benefit from their own shape location, drag, curl-noise motion, size curve, and optional brightness flicker. Evaluate each layer in isolation and again with the full system; tune offsets relative to the effect's scale, not to fixed tutorial numbers.

Heat shimmer is primarily a material effect on a restrained sprite layer. A translucent, unlit material can pan a normal map to drive refraction. Mask the scrolling normal toward a neutral normal outside the desired shape so the rectangular sprite edge disappears. Control scroll speed, mask contrast, and refraction strength separately; start subtle because refraction and overlapping transparency are easy to overdo. Align the sprite pivot and size with the heat region, and check it from multiple camera angles. Material setup and renderer support vary by project and target platform, so treat this as an optional visual layer.

Expose only the values gameplay must change as Niagara User parameters. Length, width, rate, intensity, and color are common examples, but use the names and types already authored in the project's system. A stop should turn off emission while allowing existing particles to expire; Deactivate() provides that behavior for a persistent component. Use DeactivateImmediate() only when the existing plume must disappear at once, such as a weapon teardown or teleport cleanup.

Gameplay integration

Attach one persistent UNiagaraComponent to the weapon or character muzzle. Keep it inactive until firing, activate on fire start, and deactivate on fire stop. Avoid spawning a new system every frame while the trigger is held. If the muzzle moves, update attachment or aim at the source, not each already spawned particle. Set user parameters when the relevant gameplay value changes rather than on every tick without need.

Niagara particles are visual state. Resolve damage, range, obstruction, and friendly fire in gameplay code using the weapon's trace, shape sweep, or overlap model. Align that model with the visual cone, but do not assume Niagara GPU collisions are authoritative hit detection. Server-side gameplay should decide hits; clients can run the visual locally from replicated firing state. Make the damage geometry and visual range tunable together so the visible flame does not promise hits beyond its actual reach.

For a C++ component that already exists and has its system asset assigned, the lifecycle is:

cpp
#include "NiagaraComponent.h"

// Start and stop at fire state transitions, not once per frame.
FlameFX->SetVariableFloat(IntensityParameterName, FuelIntensity); // Match the system's User parameter.
FlameFX->Activate(true);
// On fire stop:
FlameFX->Deactivate();

Store the component in a reflected TObjectPtr<UNiagaraComponent> member if it is dynamically created and needs persistent control. Add the Niagara module dependency in the owning C++ module. For a Blueprint-only weapon, expose the same User parameters and component lifecycle; the effect design is unchanged.

Collision, bounds, and cost

  • Decide whether particle collision serves a visible response. Flame and smoke often look convincing without every particle colliding; embers or ground licking can use collision sparingly. Gameplay damage remains a separate query.
  • GPU emitters suit large cosmetic particle counts, but do not depend on reading individual GPU particles back into gameplay. CPU emitters are appropriate when a small number of particles must raise events.
  • Set bounds that contain the plume at its maximum supported length and spread. Too-small bounds make it disappear as the camera or weapon moves; oversized bounds hurt culling.
  • Budget translucent overdraw at the target camera distance. Reduce large overlapping sprites, shorten unnecessary lifetimes, and apply Niagara scalability/culling before stripping away the shape-defining hot core.
  • Compare the effect while starting, holding, sweeping the aim, stopping, and firing close to a wall. A good static preview can reveal seams or lag once attached to a moving weapon.

References & source material

Verified UE 5.8 source paths under E:\Program Files\Epic Games\UE_5.8\Engine\:

  • Plugins/FX/Niagara/Source/Niagara/Public/NiagaraComponent.h — UNiagaraComponent, activation, deactivation, and typed variable setters.
  • Plugins/FX/Niagara/Source/Niagara/Public/NiagaraFunctionLibrary.h — system spawn and attachment options.
  • Plugins/FX/Niagara/Source/Niagara/Classes/NiagaraSystem.h — Niagara System asset and exposed parameters.

See the existing ue-niagara-vfx skill for emitter architecture, data interfaces, and performance details. Epic's Niagara effects overview and Niagara debugging and optimization provide the general reference.

Frequently asked questions

What does the Ue Niagara Flamethrower AI skill do?

Build a continuous flamethrower visual effect in Unreal Engine 5.8 Niagara. Use when making a weapon flame jet, fuel plume, fire breath, or similar nozzle-attached effect with smoke, embers, heat distortion, runtime controls, and gameplay hit detection.

Why use Ue Niagara Flamethrower on TypingMind?

Because you install it once and use it with any model. Ue Niagara Flamethrower is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Ue Niagara Flamethrower in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/kevinpbuckley/unreal-engine-skills/tree/master/skills/core/ue-niagara-flamethrower. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Ue Niagara Flamethrower?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Ue Niagara Flamethrower?

As many as you like. As long as a model supports skills, you can use Ue Niagara Flamethrower with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Ue Niagara Flamethrower AI skill free?

It is published on GitHub by kevinpbuckley. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇