Agreed, struct + data table or depending on if things will actually be “different” like firing a projectile vs a hitscan weapon vs some visual beam weapon etc you may need to create a parent class and child blueprints to handle the various effects of your weapons. If everything is basically the same “style” of weapon (all shoot bullets, or all projectiles) you may not need this and a data table will suffice with the different stats. If you need a basic example of how parenting can work to your advantage here check out video #15/16 below.