NZ Projectiles 2 & 3D
Base plugin
Plugin for Godot that adds a projectile system in 2D&3D. There are four projectile classes (2 each for 2D & 3D), base one and extended, to which you can add more stuff, like changing speed every second or making it disappear only after interacting with 3 objects or make it move on Line2D or Path3D.
Modules
Modules are resources that change something in the projectile, in the plugin they are used by Projectile_extended and Projectile3D_extended.
Both of them contain 5 module types:
Atk change - changes damage that a projectile deals.
Speed change - changes a projectile speed.
Move extended - changes how a projectile moves (e.g. make it move towards a certain node or make it move from one point to another on Line2D).
Hit extended - changes with which arguments the function that deals damage will be called in the body.
Remove projectile - changes what happens when the projectile needs to be removed (e.g. give a projectile a few lives before making it disappear or create a new projectile after the projectile is freed or both).
Extra plugins
Also includes two more plugins:
NZ_projectiles_emitter - adds nodes with which you can emit projectiles.
NZ_projectiles_custom - adds a new projectile class that is much more customizable, but harder to work with.
Both plugins require the main one - NZ_projectiles, but if you don't need those extra plugins, you can just don't add them to your project.
Use examples
You can go to the source code page where you can find many example scenes of how projectiles can be used.
Every update adds a new scene in NZ_projectiles/Scenes/Updates where you can see recently added things (even if the update doesn't say that it added a new scene).
Projectile extended
Speed change

Movement

Removal

Combined

Projectile3D extended

Movement

Movement on Line2D and Path3D

Emitters example

Changelog for version 2.10
No changelog provided for this version.