
Mega Combat VFX Kit - 214 Procedural 2D Effects for Godot 4
214 procedural combat effects — guns, bows and beams, melee, projectiles, spells, ordnance, hazards, status loops, shields and deaths. No sprite sheets.
A sprite-sheet flash has a resolution, a colour and a frame count, and all three were decided by somebody else. This kit draws flames, blasts, hits and electrical discharges with maths instead of pixels — so the same revolver flash is crisp at 4K and at 240p, changes character when you raise its petal count, and never needs a new sprite sheet. Explosions, surface impacts and non-thermal electrical channels have their own models, not just different colours on that revolver.
A whole fight, not just the gun. Melee arcs that are thin where the swing
starts and wide where the speed is. Contacts that know what they hit — flesh, armour,
wood, dirt, sand, glass, concrete, foliage, water, an energy shield. Bolts, beams, arrows and
life-draining tethers that travel to the point you give them and emit arrived
when it is time to deal the damage. Status loops — poison, stun, burning, curse, marked,
shocked, frozen, bleeding, buffs and debuffs — that fade in, hold for as long as the
status lasts, and release cleanly. Shields that ripple where they are struck and shatter;
heals, dispels and a resurrection pillar; holy columns, arcane runes, void rifts and chain
lightning. Deaths that erode or vaporise the actual sprite instead of covering it,
and the dashes, landings and footsteps in between.
And the rest of the battlefield. Elemental spells with weight — a meteor whose shadow arrives first, a fault line that runs to its target, stone slabs pushed up from below, a tornado that turns faster at the bottom. Ordnance that is a different physical event each time: a fragment-dominated grenade, a one-sided sticky charge, cluster submunitions on staggered fuses, a powder keg that throws its lid before it goes. Floor hazards that widen with one property: burning ground, acid, steam vents and electrified floors that loop for a whole fight, and spike traps and falling rubble that warn before they land. Bows, crossbows, lasers and railguns get emitters of their own, so the shot starts where the weapon is.
Tell the player where and when. Ring, cone and beam telegraphs keep a crisp boundary while their fill counts down over your chosen duration. Drive progress from gameplay or use the landing signal; danger colour is a parameter, and a dark rim keeps the outline readable on bright floors. Target Lock closes and holds with a heartbeat; Heal Tick stays small, green and periodic. Cast Complete gathers and releases in your spell school's colours. Combo Spark escalates with your hit counter, then caps its visual budget. Perfect Dodge holds a cool ring for a frozen instant; Counter couples a backward deflection with a delayed forward launch.
The sprite itself can flash. Put Hit Flash under a struck sprite and
call fire(): it turns white (or your chosen colour), holds for a beat, then
fades back. Transparent edges stay transparent, shared materials stay independent, and
the original material is restored even when the effect is cancelled or removed.
The demo above is the thing you are buying, exported to the browser. Click to fire (aimed effects follow the pointer), โ and โ to walk the list, and G for family-grouped contact pages. In the contact sheet, Left/Right or PageUp/PageDown turn pages, space replays the current page, and G returns to the picker.
| Engine | Godot 4.4+ — built and tested on 4.7 |
| Dimension | 2D. Node2D, GPUParticles2D, PointLight2D, canvas shaders |
| Renderers | Compatibility, Forward+ and Mobile |
| Ships to | Windows, macOS, Linux, Android, iOS — and the web |
| Needs | No compute shaders, no GDExtension, no C#, no image files |
| Format | A source-only addon: every file is text |
| Licence | Unlimited commercial projects, no royalty, no attribution |
Drag, point, fire. Every effect is a one-node scene. Drop it on the end of
a barrel, and +X is the direction it points — aim with
muzzle.fire_at(target). Ground blasts and impacts instead use local
-Y as the outward surface normal.
๐ฅ Why no sprite sheets — and what that gets you
The muzzle separates a pressure bloom from a burning gas jet. Flames use advected,
curl-warped noise; explosions add expanding fronts, rising caps or sooty fuel clouds.
Surface hits eject cooling metal and debris, while electrical arcs branch through
non-thermal line spectra. Sparks, debris and smoke are GPUParticles2D.
Every texture — streak, chip, puff and light falloff — is generated at load.
The addon therefore contains no binary files at all. That means:
- No fixed sprite resolution. Scale the analytic shapes without stretching a baked animation.
- Recolourable. Keep the Arcane Discharge and Will-o'-the-Wisp's stylised palettes, or tune the new electrical shaders' explicit core and line-spectrum colours without routing them through a thermal ramp.
- Diffable and mergeable. A VFX change in a pull request is readable.
- No import step, and nothing to re-export when you change your mind.
๐ฏ The whole API — it fits on this screen
@onready var muzzle: MegaCombatVFXMuzzle = $Gun/Muzzle
func _unhandled_input(event: InputEvent) -> void:
if event.is_action_pressed("shoot"):
muzzle.fire_at(get_global_mouse_position())
Fires are the same node, started rather than fired: $Camp/Fire.start(), and
stop() when it burns out. Continuous effects have autoplay ticked, so
a torch dragged into a scene is already alight.
MegaCombatVFXMuzzle adds the three things every weapon ends up writing by hand
anyway: cycle_time so it cannot fire faster than it cycles,
fire_burst(3) for a burst on a timer, and a fired signal to hang the
bullet, the sound and the recoil off — so a burst gets all three for free.
๐ Cue sheets for battle UIs — one line per beat, the VFX live in a JSON file
For a turn-based or menu-driven battle, MegaCombatVFXCues plays the kit from
one JSON cue sheet rather than hand-placed scenes. Map your abilities,
weapons, statuses, consumables and events to presets once; battle code then calls one line per beat:
MegaCombatVFXCues.play_event(arena, "crit", {"attacker": a, "victim": v, "facing": 1})
MegaCombatVFXCues.play_ability(arena, "fireball", ["fire"], "attack", ctx)
await MegaCombatVFXCues.play_strike_cue(arena, cue, ctx, apply_damage) # damage lands on arrival
MegaCombatVFXCues.sync_status_loops(arena, figure, {"statuses": ["burning"]})
A cue is a list of steps: a preset, where it plays (attacker, victim, between, arena), an
anchor on the figure, a delay, and property overrides on a private copy. Projectiles
travel, and play_strike_cue holds the damage callback until they arrive.
An ability falls back from its own id to its element, then its type, then a default, so new
content is never silent. It is static and presentation-only: reduced motion or a missing
figure spawns nothing but still lands the hit. Three hooks (sheet path, reduced motion,
status keys) fit it to your game without editing the addon.
๐ One resource, every copy — retuning without touching a scene
Each shipped scene is one node pointing at one .tres. Nothing
is baked into the scene tree, so changing the resource changes every instance in your game at
once — and you can build a new effect without opening a scene at all:
var plasma := load("res://addons/mega_combat_vfx/presets/plasma_muzzle.tres").duplicate()
plasma.energy_core_color = Color(0.7, 0.9, 1.0)
plasma.energy_color = Color(0.2, 0.4, 1.0)
$Gun/Muzzle.preset = plasma
Controls are grouped and documented in the inspector: flash and flame structure; blast shape and soot; wave radius and duration; contact-star timing and ricochet direction; metal cooling; electrical branches, channel width and re-strike rate; telegraph shape, fill timing and danger colour; reticle acquisition and heartbeat; heal tick size and interval; particle counts, speed, lifetime, gravity and drag; smoke growth; and light colour, radius and energy.
Feedback bursts add school colours, a per-node combo count with a saturation
cap, a held dodge ring and a configurable counter delay. Their process clock follows your
game's hit-stop; none of them changes global time or triggers an attack for you.
scale on the preset multiplies every pixel size in it at once, so resizing an
effect is one number rather than a dozen.
๐ It runs where your game runs — web included
Built for the Compatibility renderer, which is the one that reaches the web, old laptops and phones, and it runs unchanged on Forward+ and Mobile. No compute shaders, no Vulkan requirement, no GDExtension, no C#.
That is why the demo at the top of this page is playable rather than a video: it is the same project you are downloading, exported to the browser.
The lights are PointLight2D, so they do something in a scene that has 2D
lighting and nothing in one that does not — and an effect with
light_enabled = false never builds one.
๐ Everything in the pack — guns, fires, explosions, hits and electricity
| Effect | Kind | What it is |
|---|---|---|
| Derringer | burst | A hideout gun. Barely a flash, a lot of smoke for its size. |
| Revolver | burst | Single-action six-gun: a short, ragged jet of burning gas. |
| Semi-Automatic Pistol | burst | Modern powder: whiter, faster, and almost no smoke. |
| Submachine Gun | burst | Built to be re-fired before it has finished. Tight, hot, repetitive. |
| Lever-Action Rifle | burst | A long barrel burns its charge: a narrow spear of flame, thrown far. |
| Shotgun | burst | Short barrel, big charge, nothing subtle: a wide bloom and a wall of smoke. |
| Marksman Rifle | burst | One shot, and a plume that gives away where it came from. |
| Heavy Machine Gun | burst | A belt-fed gun with a hot barrel: fat petals, long sparks, smoke it never clears. |
| Gatling Gun | burst | Six barrels taking turns. The flash spins because the gun does. |
| Black Powder | burst | Cap and ball. Half the shot is the cloud it leaves standing in the street. |
| Cannon | burst | A ship's gun or a field piece. Everything about it is too big. |
| Arcane Discharge | burst | Whatever the gun is loaded with, it is not powder. |
| Candle | continuous | One small tongue that leans when something walks past it. |
| Torch | continuous | The one you carry. Sways, throws embers, lights a room. |
| Brazier | continuous | A basket of coals on a pole. Wider and lazier than a torch. |
| Campfire | continuous | Three tongues' worth of fire in one quad, and the embers going up with it. |
| Forge | continuous | Not a flame — a mouth full of coals, glowing and spitting. |
| Flamethrower | continuous | Fire aimed sideways. Rotate the node; the flame goes where it points. |
| Dragon Breath | burst | The flamethrower's bigger cousin, thrown in one gout and gone. |
| Explosion | burst | A symmetric burst: no barrel, no direction, everything at once. |
| Fireball Impact | burst | Something burning hit something solid. Sparks go up and out, nothing goes down. |
| Burning Debris | continuous | A wagon wheel or a roof beam still alight. Uneven, low, and stubborn. |
| Ember Drift | continuous | No flame at all: the sparks a fire sends up, for the air above one. |
| Will-o'-the-Wisp | continuous | Cold fire. Same flame, moved round the colour wheel and slowed down. |
| Ground Burst | burst | A surface detonation: a rising fireball, dirt cone and ground-hugging shock front. |
| Fragmented Burst | burst | Five offset charges ignite in sequence, throwing fragments through overlapping fireballs. |
| Mushroom Burst | burst | Buoyancy lifts a rolling cap above an entrained stem and a spreading ground skirt. |
| Airburst | burst | A free high-order flash and decelerating condensation shell: no dirt, no ground skirt. |
| Fuel Deflagration | burst | A slow fuel-cloud burn: rolling flame on its oxygen-fed skin, dark soot in the starved core. |
| Bullet on Stone | burst | A hard contact star, cooling projectile chips and a dry puff of stone dust. |
| Ricochet | burst | One large fragment skims off at an oblique angle, leading a smaller contact spray. |
| Steel on Steel | burst | A dry shower of white-hot metal: fast radiative cooling, no smoke and no burning gas. |
| Incendiary Hit | burst | The contact sheds hot metal, then a small fuel deposit clings to the struck surface. |
| Electric Arc | burst | A blue-white conducting channel splits into fine branches and re-strikes along new paths. |
| Plasma Muzzle | burst | A magnetically confined cyan jet with a pinched core and braided current sheath, not burning powder. |
| Shorting Machinery | continuous | An intermittent electrical fault: irregular gaps, double re-strikes and a light that goes dark with the current. |
| Hit Flash | burst | The struck sprite itself flashes white, holds for a beat, then fades back to its exact original material. |
| Contact Blink | burst | A tiny white contact blink with no spray, smoke or lingering light. |
| Crit Starburst | burst | A sharp yellow-white contact star with longer rays cooling to amber: this hit matters. |
| Block | burst | A flat plate flash sends a dry steel fan back toward the attacker and along the blocking surface. |
| Damage Pop | burst | A small, muted upward pop to place behind a damage number, not compete with it. |
| Telegraph Ring | continuous | A fixed danger circle fills radially on a controllable clock, confirms at full, then holds. |
| Telegraph Cone | continuous | A forward sector keeps its boundary while an angular fill counts down to the attack. |
| Telegraph Line | continuous | A crisp beam footprint fills from its origin to its far end, snapping exactly at completion. |
| Target Lock | continuous | Four brackets converge around a clear centre, then hold their position with a slow heartbeat. |
| Heal Tick | continuous | One small green cross-mote rises and fades each tick, with a quiet gap and no bloom or spray. |
| Cast Complete | burst | School-coloured strands converge for a beat, then snap outward in a short release ring. |
| Combo Spark | burst | Drive the combo count: a small amber spark grows into a white-hot twelve-ray burst, capped at eight. |
| Perfect Dodge | burst | A cool silver-blue bloom freezes into a crisp ring for an instant, then releases without changing game time. |
| Counter | burst | A cold broken deflection kicks backward; a beat later, a gold lance launches forward from the same contact. |
| Sword Slash | burst | A clean silver crescent sweeps wide: a hairline root, hot cutting edge and cooling blue smear. |
| Knife Slash | burst | A short, low working-blade cut: fast, flattened and already fading before a sword finishes. |
| Axe Chop | burst | A steep, accelerating bronze-white chop stops hard, throwing chips from its weighted end. |
| Punch | burst | A compact forward knuckle streak parts the air, then pops a narrow compression ring at the fist. |
| Claw Rake | burst | Three bone-bright, red-edged tears rake in parallel, staggered and ragged rather than polished steel. |
| Bite | burst | Upper and lower fanged arcs close like jaws, meeting in a small, sharp puncture flash. |
| Whip Crack | burst | A thin travelling S-curve straightens into its target, then cracks with a tip flash and a little displaced dust. |
| Ground Slam | burst | A downward strike at the feet opens radial cracks, pushes a low dust skirt and lifts tumbling stone. |
| Charged Strike | burst | Gold strands gather and crawl up the weapon for a beat, then release a broad, brilliant crescent. |
| Cross Slash | burst | Two curved cuts cross at a sharp angle, the second arriving while the first edge is still cooling. |
| Heavy Cleave | burst | A broad, heavy sweep drags a second edge behind it: slower, thicker and wider than an axe chop. |
| Spear Thrust | burst | A long straight needle extends to a hard diamond glint, then snaps back instead of sweeping an arc. |
| Dagger Flurry | burst | Four short alternating cuts in a quarter second, overlapping briefly and clearing in the order they struck. |
| Kick | burst | A wide low air streak ends in a heavy compression ring, with a separate dust scuff under the planted foot. |
| Spin Attack | burst | A silver-blue sweep completes a full ring around the body, then throws the ring outward as it fades. |
| Execution Flash | burst | One 60 Hz frame of white across the entire arc; the edge vanishes, leaving only a short fall of dull dust. |
| Weapon Trail | continuous | A live tapered ribbon remembers the moving weapon tip, clears when still, and fades gracefully when released. |
| Slash Contact | burst | A silver cut-line snaps along the blade's travel, leaving a fine parallel echo and a few needle sparks. |
| Blunt Contact | burst | A compressed round shock ring rebounds from the blow while a small dry dust skirt kicks off the feet. |
| Bullet on Flesh | burst | A dull burgundy pressure pulse and a brief directional spray of rounded droplets: no gore, sparks or light. |
| Bullet on Dirt | burst | A low broken dust ring, a dry cone of soil and heavy irregular clods that arc back down. |
| Bullet on Wood | burst | A pale grain tear throws long tumbling splinters and hair-fine fibres; not one spark. |
| Round off Armour | burst | A cold dent flash rings the plate, sending a flat fan of hot metal downrange without dust or flame. |
| Critical Hit | burst | A body-wide eight-point gold star punches through two expanding rings and a crown of sharp shards. |
| Parry Clash | burst | Two white blade-edges meet in a crisp X, throwing four narrow showers of cooling sparks along both blades. |
| Deflect | burst | A narrow oblique scrape skids away from the hit, shedding a small parallel spark fan instead of blooming. |
| Bullet on Sand | burst | Fine grains lift through a soft sandy column that hangs after the low contact ring has dispersed. |
| Bullet on Glass | burst | A branching hairline fracture outruns transparent triangular shards that tumble and catch the light. |
| Bullet on Concrete | burst | A hard faceted dent throws grey angular chips through a low mineral-dust puff, without glowing metal. |
| Shot Through Foliage | burst | A small tear in the air releases pointed leaves that flutter edge-on and turn as they fall. |
| Arrow Strike | burst | The tip stops at contact while the shaft and split fletching shiver, with only a small dust ring underneath. |
| Tracer Round | burst | An incandescent pin races to its target, dragging a short amber cooling streak. |
| Bullet Trail | burst | A silver needle passes almost instantly; a hairline of disturbed smoke hangs behind it. |
| Arcane Bolt | burst | A cyan jewel with violet orbital rings follows a bowed path and leaves braided magical filaments. |
| Shadow Bolt | burst | An opaque, light-swallowing almond tears a ragged violet fringe through the air. |
| Holy Bolt | burst | A clean white-gold lance flies straight while little gilded stars rise out of its wake. |
| Spirit Projectile | burst | A pale, faintly faced wisp drifts on a wavering path, trailing three soft ghost ribbons. |
| Water Jet | burst | A pressurised blue-white stream connects, holds, then thins away beneath its falling tip spray. |
| Laser Beam | burst | An emitter ring contracts before a held eldritch beam snaps out, flares at both ends and retracts. |
| Drain Tether | burst | A dark red vein grips its victim; teal-edged pulses pull back into the caster for a full beat. |
| Life Steal | burst | Two crimson ribbons braid into a green return flow, feeding a small healing cross at the caster. |
| Railgun Line | burst | The entire blue-white rail path appears at once; little induction collars collapse inward with it. |
| Thrown Blade | burst | A tumbling steel knife follows a shallow arc, folding its silver ribbon edge-over-edge. |
| Fireball in Flight | burst | A rolling incandescent sphere burns down its orange wake and sheds rising embers behind it. |
| Ice Shard in Flight | burst | A faceted blue spike shears forward with little side splinters and frost grains falling from its wake. |
| Arrow in Flight | burst | A steel point, wooden shaft and quivering fletching cross a faint line of parted air; no magical glow. |
| Returning Weapon | burst | A notched steel ring cuts outward on a high ribbon, then curls back beneath it into the throwing hand. |
| Rocket Exhaust | burst | A finned rocket drives a bright pressure plume through the soot and glowing grains it sheds. |
| Missile Smoke Trail | burst | A slim guided dart leaves a grey corkscrew that loosens, rises and hangs after the missile is gone. |
| Grenade Tumble | burst | A ribbed olive grenade tumbles through a high arc; its hot fuse scribbles a small curling smoke thread. |
| Laser Emitter | burst | A hard optical lens glints into a fine diffraction cross, leaving only a thin heat bloom and no ejecta. |
| Railgun Discharge | burst | Four coil bridges chatter across parallel rails before a needle discharge leaves a thin ionised-air front. |
| Sustained Beam Emitter | continuous | A steady apertured core and a short conducting collar, with wavering heat bands and small aperture spits. |
| Bow Release | burst | A fine string overshoots and settles, a long limb shivers, and a few flecks of glove dust fall away. |
| Crossbow Release | burst | A compact cable snaps through short angular limbs as the stock kicks a flat, dry dust fan backward. |
| Poisoned | continuous | Sickly green bubbles rise and pop while heavy drips fall through a faint, breathing edge. |
| Stunned | continuous | Four small five-point sheriff stars tumble around a tilted orbit above the head. |
| Burning | continuous | Eight small flame tongues lick the body's edges; sixteen cooling embers lift clear of the face. |
| Cursed | continuous | Purple-black wisps coil upward against a contracting dark rim; thorn-shaped runes flicker between them. |
| Marked | continuous | A red, four-sighted reticle turns above the head, with a clear ring and a tiny central diamond. |
| Buff Aura | continuous | A thin golden foot-ring supports slow rising motes and a soft rim, leaving the figure unobscured. |
| Attack Up | continuous | Hot orange double chevrons climb the body's sides through a sharp ascending rim. |
| Defence Up | continuous | Eight steel-blue shield plates settle into paired rows, then hold with a travelling metallic glint. |
| Attack Down | continuous | Dull red double chevrons point down and sink through a cooling, broken rhythm. |
| Defence Down | continuous | Blue shield plates split along jagged seams, tumble outward and fall away instead of holding. |
| Shocked | continuous | Small blue-white arcs jump between the body's extremities, with irregular dark gaps and double strikes. |
| Frozen | continuous | Faceted ice plates encase the edges above a hexagonal frost rim; pale cold-air ribbons sink from the shell. |
| Bleeding | continuous | Intermittent dark-red drips fall to small pooling marks that accumulate at the feet, then fade with the status. |
| Slowed | continuous | Three indigo after-images lag the real figure's motion beneath a quiet hourglass. |
| Hasted | continuous | Pale lime echoes lead the figure; pointed forward streaks and fast edge glints promise its next step. |
| Confused | continuous | Four crooked question marks drift above the head at unequal speeds, hesitate and reverse independently. |
| Silenced | continuous | A thin muted-violet seal at the mouth swallows rising notes, shrinking their voices to nothing. |
| Enraged | continuous | A red rim breathes in heavy beats; wavering heat ribbons and hot motes climb the edges without covering the face. |
| Regenerating | continuous | Paired mint-white seed sparks rise in a steady peripheral rhythm: no healing crosses, spiral or golden ground ring. |
| Stealth Shimmer | continuous | Only movement catches this silver-teal silhouette: a fine texture-derived outline shimmers, then vanishes at rest. |
| Shield Bubble | continuous | A held amber shell: a fine Fresnel rim, shimmering hex lattice and a quiet, transparent interior. |
| Shield Ripple | burst | An absorbed hit travels across the curved shield from its contact point, waking the lattice as it passes. |
| Shield Break | burst | The full shell whitens and fractures, then its angular panes tumble outward and extinguish. |
| Hit on Energy Shield | burst | A compact blue-white honeycomb flare reveals the struck surface and spits short glints back out. |
| Heal Burst | burst | A warm green-white cross blooms once; paired rising ribbons carry a fan of smaller healing motes. |
| Mana Restore | burst | Cool blue diamonds spiral inward along a closing crescent, collect at the heart and settle. |
| Dispel | burst | A hollow white-cyan cleansing ring lifts dark, school-tintable impurities away from the body. |
| Ward Glyph | continuous | A foot-anchored protective seal rises, settles, and holds two counter-rotating rings of engraved runes. |
| Heal Over Time | continuous | A quiet green helix spends its healing slowly: small crosses rise around the body without a repeated burst. |
| Barrier Wall | continuous | A planar blue ward rises from the floor, leaving a fine hex screen between two climbing energy rails. |
| Resurrection | burst | A warm column descends, gathers into a heart-light, then releases a rising crown of gold motes. |
| Mana Burn | burst | Blue reserves are pulled out toward a dark violet iris on the right and consumed, with no returning pulse. |
| Holy Beam | burst | A sustained ivory column descends onto a gold ground halo; braided light and motes climb inside it. |
| Smite | burst | A hard white-gold strike lands from the sky, kicks out a ground ring and sheds falling sparks. |
| Radiant Nova | burst | An ivory sun-ring expands through long golden rays, leaving weightless light motes rather than debris. |
| Arcane Explosion | burst | Counter-rotating violet hexagons rupture around a cyan diamond core and throw luminous glyph shards. |
| Rune Detonation | burst | A floor sigil writes its runes into two circles, holds its geometry, then spends it in a sharp turquoise rupture. |
| Dread Howl | burst | Four warped, bone-grey pressure fronts spread from the mouth toward a target, shaking loose a low wake of dust. |
| Spell Fizzle | burst | A small gathered glow misfires three times, tears into a few sparks and a grey puff, then collapses without a release ring. |
| Summoning Portal | continuous | An upright teal gate opens at the feet; a bright orbiting rim encloses a quietly turning, violet-veined interior. |
| Casting Circle | burst | A rose-gold floor astrolabe writes itself, holds a complete eight-glyph seal, then flares upward to finish the cast. |
| Staff Cast | burst | Three sapphire strands gather at the staff tip, hold a bright focus, then release a long cyan-white lance along the aim. |
| Hand Cast | burst | A coral-gold palm glyph turns once, contracts to a pinpoint and flicks a short, sharp release along the hand's aim. |
| Weapon Charge-Up | continuous | Four inward spiral streams feed a cyan focus that tightens and brightens, then keeps drawing energy until released. |
| Void Rift | burst | A jagged, light-swallowing slit opens in a violet-white seam, draws in motes and snaps shut. |
| Shadow Tendrils | burst | Six ink-dark roots whip up around a body, coil across it and sink back through the floor. |
| Shadow Implosion | burst | A black sphere pulls violet streamers inward, collapses to a point and releases one dark pulse. |
| Wave Crash | burst | A curling turquoise wall sweeps forward, folds into a spray and leaves low white foam behind. |
| Poison Cloud | burst | Heavy green-yellow billows pool around the feet, rolling with hollow bubbles and slow drifting wisps. |
| Chain Lightning | burst | A branching bolt connects two chosen points and re-strikes three times, flashing at both ends. |
| Bullet on Water | burst | A narrow water column lifts through a crown of droplets while two low ripples run outward. |
| Acid Splash | burst | A sharp lime splash sticks to the contact, runs down in viscous drips and fizzes away. |
| Lightning Strike | burst | A ground charge tightens first; a jagged sky-to-floor discharge lands twice and leaves a fading ion ring. |
| Static Field | continuous | A held electric boundary skips and crackles, throwing an inward arc to a local target inside it. |
| Frost Nova | burst | A low ring of faceted ice grows outward, locks at full reach and holds before thinning into frost. |
| Ice Spike Eruption | burst | Five unequal ice spears punch up through the floor in sequence, shedding cold chips and low mist. |
| Freeze Shatter | burst | A body-sized crystal shell seals and cracks, then breaks outward into tumbling shards and sinking frost. |
| Death Poof | burst | A round, rolling dust puff replaces a body; four tumbling gold stars escape its rim. |
| Dissolve | burst | The figure itself burns away through a ragged orange edge, shedding embers and ending transparent. |
| Soul Release | burst | A pale, curling spirit slips upward from the body, its trailing filaments breaking into cold motes. |
| Ash Crumble | burst | A body-shaped scatter collapses into falling ash flakes while a dark, torn cloud drifts upward. |
| Boss Death | burst | Light splits the body in three internal ruptures, holds, then releases a vast star and fading corona. |
| Smoke Bomb | burst | A sharp ignition pop becomes an opaque, figure-swallowing cloud, held before it rolls away. |
| Dash | burst | Silver speed lines and three stretched afterimage silhouettes tear backward behind a forward lunge. |
| Landing | burst | A flattened impact ring kicks a low dust skirt and small, settling chips away from the feet. |
| Jump | burst | A light, broken dust ring spreads from the take-off point while small curls lift off its rim. |
| Footstep | burst | One quiet, heel-sized dust scuff drifts backward and disappears, with only five small grains. |
| Blink Out | burst | The actual figure contracts into a bright vertical seam, pulls in its last motes, and vanishes. |
| Blink In | burst | A narrow light seam opens into the actual figure, overshoots its width, then settles without a pop. |
| Dodge Roll | burst | Two separated dust beats mark the tuck and the recovery, with a quiet gap as the body rolls past. |
| Smoke Grenade | continuous | A ground source keeps feeding a rising, rolling smoke column; stop it and the remaining volume clears softly. |
| Vaporise | burst | A white energy flash consumes the actual figure; its broken cyan shell expands into an empty space. |
| Gib Burst | burst | A fifth-second punch throws stylised armor and cloth fragments forward; no blood or anatomy. |
| Crystal Shatter | burst | Prismatic glass facets tumble under a directional light, scattering sharp specular glints over warm silica dust. |
| Corpse Burnout | burst | Low, uneven flames exhaust themselves over a fallen body, leaving a quiet, persistent charcoal stain. |
| Machine Wreck | continuous | A machine spits hot sparks and leaking fluid; its lamp fails, but twin vents keep smoking until stopped. |
| Slide | continuous | A low continuous dust wake and ground-skimming grit stream backward against a +X slide. |
| Wall Run | continuous | Repeated vertical-wall scuffs flick dust and stone outward along the wall normal, not upward like foot dust. |
| Speed Lines | continuous | Camera-overlay streaks race past the viewport edges, leaving a clear focal window around the action. |
| Fire Nova | burst | A low crown of flame races outward along an elliptical floor ring, leaving cooling embers and a scorched wake. |
| Flame Wave | burst | A rolling curl of fire travels at ankle height toward its target, dragging a coal-dark ground trail and rising embers. |
| Immolation | continuous | A source-fed column consumes its footprint: hot climbing tongues, a coal bed, sooty folds and a continuous ascent of embers. |
| Meteor | burst | A growing foot-shadow warns for 360 ms; a fissured burning rock falls into a single violent crown of fire, stone and dust. |
| Blizzard | continuous | Driven ice needles cross a wide, held area in one wind direction, through thin shearing veils and low cold drift. |
| Rock Eruption | burst | Five broad, chipped stone slabs force their way out of the floor, hold their strata, then settle as dirt falls off the tops. |
| Earth Shockwave | burst | A branching fault races toward a chosen foot-point, heaving the leading edge and standing a short wall of dust along the crack. |
| Boulder Impact | burst | One heavy, faceted boulder drops and embeds with a single flat dust ring; dull chips fall, and nothing burns. |
| Wind Slash | burst | A nearly transparent upright crescent is betrayed by the grit it pushes forward and the low dust scuff it tears off the floor. |
| Tornado | continuous | A narrow, fast-turning foot lifts grit into a widening dust funnel; the upper ribbons and tumbling debris turn more slowly. |
| Grenade Blast | burst | A compact white snap throws fast iron fragments through a thin pressure shell; the chips outlive the flash. |
| Sticky Charge | burst | A bright contact seam opens a one-sided half-dome; metal and soot eject only away from the attached surface. |
| Cluster Submunitions | burst | One casing opens, six little charges arc apart, then separate sharp blasts chase across their spread on staggered fuses. |
| Shaped Charge | burst | A copper collar drives a narrow white-hot jet along +X; a tight forward spray follows, with almost no back-blast. |
| EMP Burst | burst | A hollow monochrome shell expands: a black trough dims what it crosses and a neutral band drains its colour. |
| Flashbang | burst | An overwhelming ivory-white disc and fine cross flare cut off sharply, leaving only a faint afterimage and no debris. |
| Molotov | burst | Green glass breaks into a spreading fuel splash, then seven uneven flames cling to an irregular floor pool and burn out. |
| Mine Trigger | burst | A pressure plate blinks first; an upward fan of dust, light and heavy soil bursts from the feet. |
| Barrel Explosion | burst | A keg strains at its seams, throws its lid, vents a narrow jet, then ruptures into rolling fire and tumbling staves. |
| Burning Ground | continuous | A wide bed of glowing coals carries low, torn flames and a sparse drift of cooling embers. |
| Acid Pool | continuous | A low, irregular lime puddle fizzes with hollow bubbles; thin vapour rises, thins and never falls back. |
| Lava Spray | continuous | A fissured basalt pool throws staggered molten arcs; orange fragments form dark crust before landing. |
| Steam Vent | continuous | A narrow white pressure jet escapes a floor vent, blooms into a rising plume, then leaves a true pause. |
| Electrified Floor | continuous | Flat blue-white current paths skip, branch and re-strike across a scorched ellipse, never arcing overhead. |
| Spike Trap | burst | Dust lifts from seven dark slots before bevelled steel spikes punch up, hold, then retract into the same holes. |
| Falling Rubble | burst | Warning grit sifts down first; seven tumbling rocks follow, each kicking its own ground ring, chips and dust. |
| Collapse Dust | burst | A short fall of grit feeds a low rolling dust front that keeps spreading long after the collapse has stopped. |
| Gas Cloud | continuous | A low, almost transparent sickly haze gives itself away through a faint torn yellow-green rim. |
| Wind Gust | continuous | Dry leaves turn edge-on while sand grains stream along +X; uneven gusts are visible only in the debris they carry. |
| Blood Pool | continuous | A restrained burgundy stain spreads once over a few seconds, holds its ragged outline and dries to dark rust. |
Burst plays once per fire() and stops itself.
Continuous burns from start() to stop().
๐ฆ What you download
- The addon —
addons/mega_combat_vfx/on its own, to drop into a project you already have. - The whole project — the addon, the demo you are playing above, the documentation and the licence.
The demo's source is yours too, under the same licence. What is not in either download is the build tooling: the preset generator and the harness that poses the demo for these screenshots build the product and are not part of it.
๐ Licence — the short version
Unlimited projects, free or commercial. No revenue cap, no royalty, no attribution required. Modify anything — the scripts, the shaders, the presets. Use it at a studio; the licence covers the project, not the seat.
The one thing you may not do is resell the kit as the kit: as an addon, a
VFX pack, a shader pack or a code sample. Ship it in your game, don't ship it
as your product. Full text in LICENSE.txt.
| Published | 8 days ago |
| Status | Released |
| Category | Assets |
| Author | Out of Tokens Studio |
| Made with | Godot |
| Tags | 2D, Asset Pack, Effects, fire, Godot, godot-4, particles, Shaders, special-effects, vfx |
| Average session | A few seconds |
| Languages | English |
| Inputs | Keyboard, Mouse |
| AI Disclosure | AI Assisted, Code, Text |
Purchase
In order to download this asset pack you must purchase it at or above the minimum price of $4.99 USD. You will get access to the following files:














Leave a comment
Log in with itch.io to leave a comment.