vfx-muzzle-flash

Creates a one-shot muzzle-flash effect using a star-burst shader quad and OmniLight3D in Godot scenes.

66|4|Updated Feb 26, 2026
One-click install
npx skills add https://github.com/SummerEngine/summer --skill vfx-muzzle-flash-summerengine
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: vfx-muzzle-flash
Source: https://github.com/SummerEngine/summer/tree/main/library/skills/vfx-muzzle-flash
Command: npx skills add https://github.com/SummerEngine/summer --skill vfx-muzzle-flash-summerengine

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Gunfire and spell casts in a game feel weightless when there is no visible flash at the barrel or hand. This Skill builds a complete one-shot muzzle-flash effect — a billboarded quad with a procedural star-burst shader plus a brief OmniLight3D room flash — wired to a weapon's fired signal in a Godot/Summer Engine scene. ## Core Features & Use Cases - Procedural star-burst shader: A spatial shader with additive blending, billboard math that preserves per-shot scale, and a randomized ray rotation per shot so no two flashes look identical. - Reusable GDScript controller: A MuzzleFlash Node3D class with tunable exports (duration, size, emission boost, light energy) and a fire() method that spikes intensity and decays it over ~80 ms. - Named variants: Ready-made parameter sets for pistol, rifle, shotgun, and sci-fi plasma-cast flashes, plus edge-case guidance for first-person cameras, silenced weapons, and underwater shots. - Use Case: You attach the MuzzleFlash node to a rifle's BarrelTip marker, connect the weapon's fired signal to fire(), and every shot produces a randomized flash that also lights the surrounding room for 60 ms. ## Quick Start Ask your AI agent to add a muzzle flash to the rifle in the main scene and wire it to the weapon's fired signal.

Frequently Asked Questions about vfx-muzzle-flash

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a muzzle flash to a gun in Godot?

Create a Node3D at the weapon's barrel tip, attach a controller script that builds a billboarded quad with an additive star-burst shader, and call its fire() method on each shot. Connect the weapon's fired signal to fire() so the flash triggers automatically.

How to make a star-burst muzzle flash shader in Godot?

Use a spatial shader with blend_add and unshaded render modes, compute a radial core with smoothstep, and add spokes via cos(angle * ray_count) raised to a sharpness power. Billboard the quad in the vertex stage while re-applying node scale so per-shot size randomization works.

Should I use particles or a shader quad for a muzzle flash?

A single shader quad is the standard approach because a flash lasts only 60-100 ms, too short for particle animation to read. A small GPUParticles3D one-shot can optionally add sparks, but the core flash is one quad plus a brief OmniLight3D.

Why does my muzzle flash look identical on every shot?

The shader's star orientation is fixed unless you randomize it. Set a random_seed shader uniform to randf() * TAU on each fire() call and vary the quad size by about 15 percent so every flash reads as a new burst.

When should I not use a one-shot muzzle flash effect?

Do not use it for continuous flames like a flamethrower, bullet impact sparks on walls, tracer lines from barrel to target, or slow spell charge-up glows. Those need dedicated fire, hit-spark, mesh-line, or magic-glow effects instead.

Why does my muzzle flash script fail to load in Godot?

The controller preloads its shader at parse time, so a missing or broken shader file takes the whole script down. Check script errors after writing files, and use load() behind ResourceLoader.exists() for optional scenes like hit-spark instead of preload().