// the find
djeedai/bevy_hanabi
🎆 Hanabi — a GPU particle system plugin for the Bevy game engine.
Hanabi is a GPU-accelerated particle system plugin for Bevy, offloading simulation entirely to compute shaders rather than running particle logic on the CPU. It's for Bevy game developers who need performant VFX — fire, explosions, trails — without rolling their own WGSL pipeline. Tracks Bevy releases closely, currently at 0.18.
The expression/module API for building particle behaviors is genuinely well-designed — you compose modifiers (position, velocity, acceleration, color) rather than writing shader code, and the system generates WGSL from that graph. GPU-side simulation with indirect draw calls means particle counts that would tank a CPU-based system are fine here. WASM support via WebGPU landed in 0.13, which is non-trivial to pull off with compute shaders. The version compatibility table is kept up to date and the migration guides exist — this is a plugin that actually tracks Bevy's breaking-change-heavy release cycle.
Collision support is entirely missing — no plane, sphere, or depth-buffer collisions — which rules it out for anything where particles need to interact with geometry. The README itself calls out that it's under heavy development and lacks features and polish, which is honest but should be taken seriously before committing to it. No debug visualization yet, so when particles misbehave you're reading GPU buffer dumps. The expressions API requires understanding an in-memory graph/AST to do anything non-trivial; it's more powerful than a property bag but the learning curve is steeper than Unity's Shuriken or Godot's CPUParticles.