Introduction
Features
Choose the parts of RSB your game needs.
| System | What it provides |
|---|---|
| Ballistics | Stepped raycasts with gravity, configurable drag, wind and spin drift. Bullets do not require projectile Rigidbodies. |
| Bullet assets | ScriptableObject settings, cartridge presets and a custom trajectory preview in the Inspector. |
| Environment assets | Gravity, wind, air pressure and temperature settings. |
| Per-shot firing | Independent origin, aim, zero distance, collision mask and shooter ownership, with self-hit filtering. |
| Hit events | Normal, penetration-entry, penetration-exit, ricochet and combined callbacks carrying shot IDs, shooter, bullet asset and collider/rigidbody references. |
| Damage profiles | Optional base damage per ammunition type, read by your own health/damage system. |
| Surfaces | Energy thresholds, thickness-dependent penetration loss, ricochet and randomized deflection. |
| Visual effects | Pooled tracers, impact particles, muzzle flashes, shell ejection and trajectory LineRenderers. |
| Dynamic scope | Canvas reticle, zoom levels, drop indicators, zero-distance display and wind indicators. |
| Bullet time | Target selection, a visible bullet, ten camera-effect presets and editable multi-stage effects. |
| Player examples | CharacterController movement, smooth camera look, head bob, sway, recoil and a bolt-action weapon. |
| Input | Legacy Input Manager or the Input System for keyboard/mouse; a touch-control demo. |
| Samples | Full, minimal, player-only and mobile scenes. URP samples are included; alternative sample archives are supplied. |
The simulation and its visuals are separate: ordinary bullets use raycasts, while tracers, particles and cinematic bullets use GameObjects. Pooling reduces repeated instantiation, but the work still depends on shot count, lifetime and enabled effects. Profile your own game and target device.
The simulation is designed for games. Its preset names and visual predictions are not a claim of exact real-world trajectory accuracy.