Weapon Juice is a drop-in game-feel layer for your weapons. Your game decides what happens — damage, ammo, hit detection, movement — and Weapon Juice makes the moment land. Call Fire() when your weapon shoots and RegisterHit() when it connects; the feedback you composed plays automatically.
Composition is 100% data-driven and inspector-first. A Weapon Feel Profile is a list of feedback modules per event (Fire, Impact, Critical, Melee Hit…). Stack them, toggle them, label them, and reorder them — no code, no graphs, no state machines. Add your own feedback by deriving one class; it appears in the menu automatically.
It looks great with no art: flashes, impact sparks, shockwave rings, tracers, and the subtle muzzle glow are all procedural and render correctly in the URP 2D renderer (where 3D lights don't affect sprites) as well as in 3D.
Built for real projects: the firing path is pooled and allocation-free, it's Fast-Enter-Play-Mode safe, the core has no UGUI or URP package dependency, and it ships with EditMode tests and full, documented C# source.
What's in the box
Great for: indie and solo devs, 2D action platformers and run-and-guns, FPS/third-person/RPG, and mobile.