Design your arsenal and look all the ways you can make each shot according their properties (motion, reactions, duration).
For simple bullets I prefer monitored Area2D, bullets normally don't need to react to hits but the target is the one that does stuff like getting hit by the bullet.
If bullets need to know when they hit something, kinematic bodies could be good, in particular if bullets takes physic space in the game (sometimes you may need move
, sometimes set_pos
, sometimes both...).
If you need some high speed bullets that are not an instant ray or bullets that bounce, are affected by gravity, move things according to mass and other physics stuff, rigid bodies may be better.
For non rigid bullets, if the bullets go on a barrage, forming patterns and things like that, a barrage manager could be added to move every bullet each frame instead of letting every bullet calculate their movement.
For instant shots (lasers, quick short range shotguns) a ray or an array of rays may be better, in some cases just a sprite that cast a ray or check a shape in a specific frame.