It seems you’re instantiating projectiles one over another, because you’re assigning 0,0,0 to the rigidbody.velocity - they will just fall to the ground if useGravity is set. The rest of the code seems ok, thus you may simply change the velocity setting to:
instance.velocity = transform.forward;
This will give a 1m/s speed in the projectile forward direction.