Default Shot Prefabs

Now that we’ve gone over the basics of the exposed fields common to each shot script, let’s quickly go over the most common default shot prefabs and what makes them – and their shot scripts – different from one another. All of these default prefabs can be found in Assets > ND_VariaBullet > Prefabs > Shot


BulletLinearNonPhysics (prefab) | ShotLinearNonPhysics (script):

The default shot type we already covered. The script moves the bullet in a linear manner by changing its transform position directly rather than with physics.


BulletAccelerating (prefab) | ShotAccelerating (script):

A non-physics Bullet that gradually accelerates. The acceleration rate is set by the Velocity Curve, either Linear (gradual) to Exponential (rapid). Accel Factor is the base rate of the acceleration while Speed Limit places a limit on how fast the bullet can accelerate before it maintains a constant speed.


BulletLinearAnimated (prefab) | ShotLinearNonPhysics (script):

The exact same type of shot as BulletLinearNonPhysics however Sprite animation frames have been added as a demonstration of the simple animation system used for most Shot types.


BulletSpeedWave (prefab) – ShotSpeedWave (script):

A non-physics type bullet which moves in a linear trajectory but varying in speed along that path, similar to a wave. The shape of the wave can be set by drawing in the Wave Form while Wave Accent can accentuate the peak effect. Cycles determines how many waves occur while Frequency determines how wide the wave effect appears (lower values for a stretched out wave effect, or higher values for a compressed effect). You can scale the effect relative to the speed of the shot with Scale To Speed.


BulletLinearPhysics (prefab) | ShotLinearPhysics (script):

Same as ShotLinearNonPhysics except that the script moves the bullet in a linear manner by directly changing its velocity via the physics engine. As with other physics-based shot types it comes with a Rigidbody2D component attached. When simple materials are applied a host of realistic physics attributes can be easily created such as bounce, deflection, drag and so forth.


BulletReAngled (prefab) | ShotReAngle (script):

A non-physics type of Bullet which follows a path with a single angle change at some point in its path. This angle change occurs at Re Angle Time while its degree is varied by Embellish. You can in turn automate the Embellish behavior with Auto Embellish and Auto Embellish Range. By default, re-angling occurs on a horizontal plane while a vertical re-angling can be set with selecting Vertical Orientation.


BulletHoming (prefab) | ShotHoming (script):

A non-physics type bullet which follows a target gameobject. You can set a single target using Target Direct (example: an enemy homing on player1), or from Target From Tag (example: homing on a group of gameobjects tagged “Enemy”). Rotation Type is set to Tracking by default, which changes the bullet’s rotation relative to its angle to the target, while Free switches to the default rotational behavior set by Rotation Speed. Speed of tracking rotation is determined by Track Rotation Speed. Homing Engage Time determines the time it takes after a bullet is fired to start looking for targets to home in on. Meanwhile, Engage Radius sets the area around the bullet where it looks for targets to track while ReCalculation FPS determines how often the bullet checks to see if another target is closer.


BulletHomingInertial (prefab) | ShotHomingInertial (script):

A physics based variant of ShotHoming. This bullet is inert until it receives a “Burst” command set at intervals determined by Burst Frequency. Initial Push is used to determine the first “Burst” upon being fired, from 0 being completely inert to any multiple of the speed it was fired at.


BulletGravitational (prefab) | ShotGravitational (script):

A physics based Bullet that uses a single point of force to propel the bullet along a parabolic arc. Best used for bullets that follow a realistic gravitational trajectory. You can increase the effect of gravity with Gravity Scale, shift the Center of Mass and rotate the object on that center point with Center Mass Pivot. The speed of this rotation is handled by Pivot Rotation Speed.


BulletBoomerang (prefab) | ShotBoomerang (script):

A non-physics bullet which boomerangs back to its original emission point. Return Speed acts as a multiplier of its outgoing speed when returning back while Return Limit sets the distance at which it returns back to its emitter. Return Limit Auto Scale scales the limit relative to the initial firing speed so that it maintains the same Return Limit distance from the emitter regardless of the speed it’s traveling at.


LaserBeam (prefab) | ShotLaser (script):

A non-bullet shot which is instantiated by a FireExpanding script.


LaserPacket (prefab) | ShotLaser (script):

A variation of a laser which detaches when firing stops and turns into a projectile.