New to modeling - questions about materials

Hi all,
I’ve just started on an FPS game, mostly in the conceptual stage so far but I’m doing it on my own so it’s a pretty big project.

Part of what I’ve been learning about is modeling. I have learned a lot about edge flow and currently have a single clean model (in Blender) that I want to bring into my game at some point.

However, I have been having trouble wrapping my head around materials.

The model I have is of a weapon, which is currently made of multiple objects - this is because it’s made of different materials (gunmetal, carbon fiber, glass, and plastic), and I was wondering the best approach to texturing it for in-game use.
I don’t think it’s hi-poly right now, because I haven’t sculpted it, so I may be able to use the model as-is.

So, my questions are these:
Should I combine my objects into a single object before bringing the model into UE4?
Whether or not this is the case, should I texture it before or after bringing it into UE4?
If it’s before, should I bake the material onto a model before bringing it over?
(I’d be new to this, but if I wanted a model to have multiple coloration options (like camouflages), and providing the other light properties do not change, would I be able to bake a model’s light properties once, bring it over, and then overlay the alternate textures in-game? Would this even be possible with metallic materials, considering their reflection is colored rather than white?)
Can I have a light “turn on” on a weapon when it is picked up, or would I need a separate model (an arms model) that has the light on versus the dropped model with the light off?
-OR-
Would I essentially need a different model for each possible color combination? This one doesn’t make much sense to me honestly, but I’m trying to think about this from all angles.

Essentially, the overall question is this:
How can I have what equates to multiple materials on a single object/model, and how can I further change the object with alternate “skins” and conditional changes? What limitations do I have?