Contact:
Gmail / Twitter / Unity Forums / Discord Server
BulletPro is the new default solution when your 2D game contains "something that shoots".
It provides you with a full dedicated workspace for tweaking the movement, appearance and behaviour of your bullets, and all of this is accessible in real time.
Endless design space:
Your pattern possibilities will be limitless thanks to parametric profiles, which offer the same workflow as the most popular postprocessing and VFX tools. All parameters are easy to find, randomize, link to one another or to game difficulty. You can even create your own parameters!
An optimized solution that takes cares of all technical aspects:
- GPU-based collisions
- Custom tag system
- Flexible pooling system
- VFX and SFX handler
- Composite colliders for custom shapes
All of this allows up to 1000-2000 bullets on screen and is fully mobile-friendly.
Full documentation for free:
The package comes with its full source code, full user manual, two quickstart guides and an Online Script Reference in case you want to extend BulletPro with your own code.
If you're curious, all these documents are available for free so that you get an idea of how BulletPro works:
Multiple use cases:
This tool works the same for any gameplay: platforming, puzzle, tower defense, and obviously bullet hell games. You'll find four example minigames provided in the package.
Suited for both the simplest and the most complex situations:
BulletPro integrates in your project in two clicks, simply by adding the "Scene Setup" to your scene then using Bullet Emitter and Bullet Receiver Components.
1.8.1 update :
- Overall : Scene Setup Singleton now properly destroys itself if detected as a duplicate.
- Graphics : BulletVFX now correctly copy sprites from a ParticleSystem's TextureSheetAnimation module.
- Bugfix : Fixed collision tag sync for Composite Receivers.
- Bugfix : Fixed incorrect behaviour when using a BulletParamMask to modify CustomParameters.
1.8.0 update :
- Overall : Various performance improvements regarding cached values across multiple scripts.
- Gameplay : BulletCurves now have the MeasurementType parameter, that can be Time or Distance, so a parameter can evolve based on a distance travelled by a bullet.
- Scripting API : New tools for handling BulletCurves with their MeasurementType, fully documented in the Script Reference.
- Scripting API : BulletProSceneSetup now exists as a singleton and stores data related to gameplay orientation.
- Bugfix : Fixed initialization of PatternModule so it can no longer throw errors upon stopping or dying.
- Bugfix : Fixed a NullReferenceException when trying to shoot a bullet with invalid amount due to improperly setup dynamic parameter. More generally, layout recalculation no longer happens for a shot that contains zero bullet.
1.7.0 update :
- Editor : Fixed float fields so various editors no longer throw errors in Unity 6000.0.
- Scripting API : All BulletModules no longer inherit from UnityEngine.Object. This solves issues related to DontDestroyOnLoad for bullet persistence between scenes.
1.6.0 update :
- Overall : Ensured BulletPro is fully compliant to the latest changes up to Unity 2023.2 and 6000.0b.
- Gameplay : Improved GPU collision detection between two line-shaped colliders.
- Graphics : Fixed the way values from a TextureSheetAnimationModule are copied into a BulletVFX. Particle Systems can now safely have their animation module set to Sprite mode.
- Editor : Improved display of bullet hitboxes in the Inspector.
- Editor : Bullet sprite is now able to preview sprites when the graphics are picked from “List of possible values”. (Props to Kasei for finding out)
- Bugfix : Fixed shot layout recalculation when used with a dynamic parameter. (Props to JackLei for finding out)
1.5.1 patch :
- Docs : User manual and Quickstart Guides fully updated with up-to-date screenshots, thanks to Rick Elliott!
1.5.0 update :
- Overall : Ensured BulletPro is fully compliant to the latest changes up to Unity 2022.2 and 2023.1b.
- Bugfix : Collision system now correctly takes the absolute size of bullets attached to an external parent that has been scaled. (Props to Sirono for finding out)
- Scripting API : The BulletModulePatterns class now has a way to count totalShotsFired and totalBulletsEmitted, for ammunition-counting purposes. The totalShotsFiredRecursive and totalBulletsEmittedRecursive properties can also handle fired bullets that fire bullets.
- Scripting API : BulletModulePatterns.ShootBullets() now returns the number of emitted bullets. BulletModulePatterns.EmitSingleBullet() now returns the bullet.
- Scripting API : In Bullet Behaviours, the OnBulletShotAnotherBullet() callback now triggers right after the Shot has been fired, and not just before.
1.4.0 and previous updates:
We did it, we hit the 10000 character limit!
For a full changelog that covers the whole BulletPro history, head to this link.