godot-oneshot-vfx

Spawn fire-and-free GPUParticles3D effects for Godot combat signals.

8|3|Updated Jun 12, 2026
One-click install
npx skills add https://github.com/arthur0n/xenodot-forge --skill godot-oneshot-vfx
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: godot-oneshot-vfx
Source: https://github.com/arthur0n/xenodot-forge/tree/main/plugin/skills/godot-oneshot-vfx
Command: npx skills add https://github.com/arthur0n/xenodot-forge --skill godot-oneshot-vfx

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill solves the problem of short-lived Godot combat VFX leaking, spawning at the wrong point, or failing to retrigger when a shot, hit, or kill happens.

Core Features & Use Cases

  • One-shot effect rig: Uses a reusable Node3D plus GPUParticles3D setup that emits once and frees itself on completion.
  • Event-driven routing: Maps existing gameplay seams like fired, hit, and died to muzzle flashes, impact bursts, and death bursts without changing core gameplay contracts.
  • World-space placement: Reparents effects under a surviving VfxRoot before setting transforms, preventing bursts from being cut short when the owner disappears.
  • Performance-aware VFX: Includes a lightweight muzzle light pulse, particle burst budgets, and a non-particle shockwave alternative for readable combat feedback.
  • Use case: Add a muzzle flash to a weapon, spawn an impact spark at the hit location, or trigger a death burst when an enemy dies.

Quick Start

Ask the skill to wire a fire-and-free VFX router for Godot combat seams and spawn the muzzle flash, impact burst, and death burst at the correct world positions.

Frequently Asked Questions about godot-oneshot-vfx

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

FAQPage Schema
How do I spawn one-shot combat VFX in Godot without leaking particles?▼

To spawn one-shot combat VFX in Godot without leaking, use a fire-and-free GPUParticles3D rig that emits once and connects its finished signal to self-destruct. Reparent the effect under a surviving VfxRoot before setting transforms to prevent premature cleanup.

Why do my Godot impact sparks disappear instantly when an enemy dies?▼

Godot impact sparks disappear instantly when the parent node frees on death. Reparent the one-shot VFX under a dedicated VfxRoot that survives the owner's destruction, then set the world-space transform to keep the burst playing at the correct position.

What's the best way to route muzzle flashes and death bursts from gameplay signals in Godot?▼

The best way to route muzzle flashes and death bursts in Godot is event-driven mapping. Connect existing gameplay seams like fired, hit, and died signals to a VFX router that spawns the correct fire-and-free particle effect without altering core gameplay contracts.

Does Godot GPUParticles3D support retriggering one-shot effects for consecutive shots?▼

Godot GPUParticles3D supports retriggering one-shot effects by spawning a new instance per gameplay signal. A fire-and-free rig creates a fresh Node3D with each fired or hit event, ensuring the burst emits fully and self-destructs via finished signal cleanup.

Can I add lightweight combat VFX to a Godot FPS without heavy shader overhead?▼

You can add lightweight combat VFX to a Godot FPS using particle burst budgets, a quick muzzle light pulse, and a non-particle shockwave alternative. These readable effects trigger from hit and died signals while keeping performance overhead minimal.

How to fix mispositioned muzzle flash placement in Godot world space?▼

Fix mispositioned muzzle flash placement in Godot by reparenting the effect under a surviving VfxRoot before applying the world-space transform. This ensures the one-shot GPUParticles3D plays at the exact fired location without inheriting incorrect local offsets.