#AssetStore #unity #unity3d #new #asset #gamedev #indiedev #GameContentShopper

Publisher

AnkleBreaker

Please Note

This entry is from Friday August 14, 2026. The price of the asset may have changed since then.
Please visit our homepage for recent offers and sales. Official and private Unity Asset Store™ sales usually last about 14 days.

Overview

💬 Join the AnkleBreaker Community! 💬

Got a question, feedback, or a feature you'd love to see? Join our Discord - we actively improve our assets based on your input, and it's where we drop our latest announcements and run giveaways.

💥 Every Projectile, In One System 💥

Shooters, action games and physics sandboxes all need the same thing: spawn, simulate and pool projectiles, resolve hits, and present muzzle, impact and explosion FX - usually rebuilt from scratch on every project.

Gatling ships that whole stack as ScriptableObject-authored, damage-agnostic content. You author weapons, projectiles, impact behaviours and surface materials as assets, drop one rig in the scene, and fire - from a component, from three lines of code, or from your own netcode. Everything runs on a central fixed-step simulation with swept, anti-tunnelling collision, so a round never passes through a wall because the frame was long.

It never applies damage. An impact is an event on a bus carrying the physical context - speed, energy, angle, surface, damage multiplier - and your game decides what a hit means. There is no health component to inherit from and no assumption about your gameplay.

And going online later is not a rewrite. This package is networking-agnostic by design: it carries no networking dependency at all, so a solo project never sees a line of networking code - but it does carry the seams a netcode needs. Server-authoritative multiplayer is the separate AnkleBreaker Gatling FishNet module, which drives these exact same assets. It is not included here, and no assembly in this package references FishNet.


🎯 Real Ballistics, Out of the Box 🎯

  • Ballistic zeroing - you configure a hit distance, never an angle. Set a weapon to zero at 50 m and the solver finds the launch angle for you, in 2D or 3D, and it holds at any simulation step rate. Four modes (Absolute, Adjustable, Adaptive, None), plus a high-arc solver for mortars and catapults and a quantised solution cache so it stays cheap. In third person the muzzle sits off to the side of a centred crosshair - the shot still converges on what you aimed at.
  • Hitscan and travel time in one pipeline. The same weapon asset can resolve instantly up close and simulate beyond. Hitscan fast-forwards the real trajectory through the same maths, so a tracer draws the arc the shot flew instead of the straight chord between its ends.
  • Impact behaviours you compose, not code. Stop, Stick, Bounce, Ricochet, Explode, Penetrate - ordered, shareable rule assets, gated by surface layer, impact speed, energy and grazing angle, and falling through to the next rule when one cannot apply. The same round skips off a plate it grazes and drills the plate it meets square, because the gate is the angle and not the prop.
  • Penetration that reads the wall. Surface materials carry an entry threshold, a flat and a per-metre speed loss, a maximum penetrable thickness and an exit floor. Thickness is measured on the collider's own shape, so a round travelling along a beam is not mistaken for a round going through it. AP ammunition becomes a data change - unlimited material types, at zero Unity-layer cost.
  • Wind that bends the shot after it leaves the muzzle. Author it as a preset, a scene component, a Unity WindZone with no integration code to write, or a box or sphere volume for a wind that only exists somewhere. It is a pure function of the simulation clock - no state, no random - so a gust is reproducible, and it runs across the job system: Burst-compiled when Burst is installed, ordinary C# jobs when it is not.
  • 2D and 3D, not 3D with a 2D mode. One SimulationSpace toggle switches the gravity source and the collision backend. Zeroing, penetration, ricochet, wind, tracers, pooling - every feature works in both dimensions, with dedicated 2D side-view and 2D top-down samples.

🧩 Core Building Blocks 🧩

  • ProjectileSimulationManager - one deterministic, fixed-step, data-oriented sim per scene, tunable from 10 to 240 Hz.
  • ScriptableObject content - weapons, projectiles, impact rules and surface materials are assets, shareable and diffable, and the same assets drive solo and networked play.
  • ProjectileEmitter - a no-code component for turrets, traps and AI: set a fire point, fire from UnityEvents or animation events, preview the arc with a Scene View gizmo before you press Play.
  • Static zero-alloc event bus - fire requests in; fired, impact, expired, bounced, penetrated, exploded, stuck, out-of-range and removed out. Every hit reports object, point, normal, velocity and kinetic energy. No singleton to reference.

🚀 Why Gatling? 🚀

  • Damage-agnostic - it reports the physics of every hit and never imposes a damage model, so it drops into any combat system.
  • Three fidelity modes - pure deterministic, hybrid PhysX handover on impact, or full Rigidbody, chosen per projectile.
  • Impact marks that ride targets - decals, stuck arrows and planted bodies follow the platform, vehicle or player they hit, and transfer onto ragdolls and wrecks at their exact world pose.
  • Built to scale - pooled from end to end, with no steady-state allocation. Measured on the shipped stress bench: about 10 800 live simulated projectiles at 60 fps, and about 2 500 once every one of them owns a GameObject - which is exactly what the distance and frustum culling, the far LOD band and the GameObject-free instanced tracer are there for.
  • Profiler-honest - Gatling.Step, Gatling.Visuals and Gatling.Wind markers, plus zeroing-cache hit-rate counters, so a busy frame is attributed rather than guessed at.
  • Headless-ready - Mute Audio, Mute Visuals and Mute Effects run the package with no presentation at all: a dedicated server fires, sweeps and lands the same shots without instantiating a single visual.

🛠 In the Editor 🛠

  • Configuration window - weapons, projectiles and surface materials in one place, with a live trajectory preview. An empty Default Projectile slot creates and assigns a definition in one click.
  • Test Fire - fires the asset you are tuning down a graduated range, in 3D, 2D side view or 2D top down, past a station of the four penetrable materials at that layout's own ballistic scale.
  • Documentation window - 41 pages across four tabs (Get Started, Manual, Scripting, Reference), searchable, with a guided tour and one-click links into the windows, menu items and assets each page describes.
  • Examples window - browse every sample scene and open it.
  • Themed inspectors for every Gatling component and asset, and a dependencies installer that never installs anything without an explicit click.

📦 What Is in the Box 📦

  • 13 sample scenes - three showcase halls (3D, 2D side view, 2D top down), a bullet-hell arena, a staged battlefield, the 3D / 2D / third-person ranges, penetration, thrown objects, traps and turrets, wind, and a stress bench.
  • Pooled native effects and audio - muzzle, impact and explosion slots driving ParticleSystem prefabs (or VFX Graph assets when that package is installed), and fire, flight-loop, impact and explosion audio on pooled sources with a voice budget. Switch them off per definition and drive FMOD or Wwise from the same events instead.
  • Full C# source. No DLLs.

🛠️ We also offer other quality & productivity tools for Maps, Cinematic Cameras, Manager Initialization, Radial Menu and more.

X