why not just assign different materials to different parts of the gun respectively in blender first, then use the texture set to assign smart materials?
That sounds like a good shortcut, but it's actually more work in the long run in this particular case, because the lines of the smart materials don't line up with the geometry in all cases. You'd have to paint masks anyway. Plus, you'd end up with multiple texture sets at the end which is a very large waste of memory, so you'd then need to combine them back into one texture set and that can be a real headache.
Hope that helps!
Oh.... I didn't realize that I will have to combine those texture sets manually.