So I haven't really talked about weapon customization. I think I've mentioned replaceable parts once or twice, but other than that I've said nothing.
I've been working on this M4 the past couple of days for this, and my plan was to make the other replaceable parts but it would have taken to long.
So I've got two potential paths we can take on how weapons can be customized.
The first one is fairly simple. The grip on the barrel, sight, and stock will all be replaceable. Weapons will be able to have multiple different paint jobs, however they will not be changeable. So, for example we'll say that the desert camo M4 can only be found at a certain military location.
This option would be much easier to make happen compared to the next one.
So the second option gets a little more complex. The sights, barrel, and stock work the same. But now the type a receiver the gun has will be replaceable. This can change the firing rate, firing modes, and even the type of ammo taken. The magazine will also have different versions. So the normal would a 30rd mag, then there could be a smaller 20rd mag, a double 30rd mag (60 total), or even a 100rd drum mag.
Paint Jobs would also be more customizable. So instead of having static paint jobs the player would be able to re-paint their weapons with tools in the world (I don't know exactly what would do it). Honestly the paint jobs are separate from the main parts of these options, and are totally interchangeable between the two.
The other thing this system would bring is external options. For example the player could add camo netting to their weapons.