So, what is the problem with reading from Data Table? How often are you going to be creating instances of the weapon BP? I use Data Tables to quickly generate a large variety of weapons, where I can set everything from damage, to static mesh, colors etc. If your variables are the same, if you have an instance in existance, you could just reference that instance and readd the default valus from that instance, and if there is no instance, create a new one and read from Data Table, then have a Struct on your BP Class for the Defaults and set the values from the table, now you can pass that struct from any instance in existence?