2D Shooter Bullet and Weapon System


2D Shooter Bullet and Weapon System is a highly customisable bullet pattern and weapon system asset for Unity.

Create your own custom bullet patterns and weapon configurations with ease. Save them to weapon inventories and use them in-game.

It includes a custom weapon configuration editor, Scriptable Object support, with inventory manager, along with a bullet pooling manager which is simple to drop into your Unity game or project and start using right away.

With so many options to tweak and customise, you can create endless combinations of bullet patterns and weapon types, with great performance, even on mobile platforms.


No scripting necessary

Everything is customisable using the included editor. Create weapons in the editor in Play mode or not. Get live feedback as you customise options and tweak your bullet patterns and weapon - configurations.

Highly customisable

Endless bullet pattern options with a large variety of bullet options and modifiers. Use the built-in custom editor to tweak and configure everything in Play mode, or the Editor. Use Scriptable Object support to save your own variations and configurations, and load them dynamically in-game. Leverage the included Weapon Inventory system to carry and equip all your custom weapon and bullet configurations, allowing for dynamic weapon switching with the Unity InputSystem mapped controls, in-game.


Fill the entire screen up with bullets, and run on mobile devices. The system also includes a customisable bullet and object pool to pre-load items at start-up.

performant 2d shooter bullet and weapon system

What you get

  • Customisable bullets, bullet patterns, and weapon properties
  • Weapon configuration editor
  • Weapon inventory system with optional ammo/reload/magazine options
  • Ricochet and other hit effects for bullets
  • Weapon presets / selector system
  • Object / bullet pool manager
  • Player movement / game type modes - shmup or free aim, hooked up to Unity’s InputSystem
  • 4 x demo scenes to illustrate different usage scenarios
  • Easily add bullet patterns and weapons to your 2D games!

Additional features

You also get a customizable player movement script which allows for multiple modes of player movement controls (top down shooter, shoot-em-up/shmup, and target tracking for usage of the system on enemies as well as players), as well as a multitude of extra sprites, SFX, prefabs and demo scripts relating to the included demo scenes.

The system is linked up with Unity’s InputSystem, allowing for easy remapping of the WeaponSystem controls. With this all combined, after downloading the project asset, you’ll have a working 2D shmup project with tons of included examples, ready to start making your own game (or integrating with your existing).

The system allows for many different bullet pattern configurations and customizations, as well as ricochet (bounce) and bullet impact effects like sparks and blood. The WeaponSystem.cs script contains sliders for every property on the weapon allowing you to easily control properties like bullet count, fire rate, bullet randomness, spread, offsets, and even alternate properties like spread size on an alternating timer system. There are also options to assign ammunition, magazine configurations, reload options and SFX on the weapon configurations you create to fire your custom bullet patterns. This amounts to a huge number of possible bullet patterns and weapon types.

The WeaponSystem script also makes it easy for your player to change weapon types in-game. Either use the built-in weapon configuration and inventory assignment system (with support to re-order, add or remove weapon configurations in-editor to use in-game), or simply set the weapon preset property to one of the 13 default preset weapon types/bullet pattern types.