This is a project I have been working on over the last few months. My goal was to create a game-ready M4 carbine with interchangeable attachments and weapon skins for a first-person shooter.
To decide which attachments I should build, I broke my list up into 3 classes based on silhouette and functionality. Those classes were grenadier, marksman, and CQB. Being able to mix and match the attachments allows for more hybridization, but it was helpful to lay the groundwork with these.