Should I have 1 script in ServerScriptService or have one server script in each weapon (ranged)

The title is pretty much self-explanatory.
One more thing I’d like to add, though, is that I’m using the FastCast module for them.

1 Like

Just one server script, and for each weapon you could make a function inside the script.

The most performance effecient way would be to have one script. The reason for this is - I assume that all or most of your weapons go through the same code - So instead of having replicated code in each weapon, you would instead want to have a WeaponHandler script, that handles the weapons as a whole.

I do use this for most of the other weapons (swords), however, my guns would use part cache in combination with fast cast. How would I make the bullet template different, or even have a different cast behavior? (different weapon types = different bullets/different behaviors)

If you want different settings for each weapon, you just place those settings somewhere. You can for example have all the settings in a modulescript, and then use the weapon name as reference to which settings to use.