About preparing textures for games

Hi, I’m a hobbyist.
I’m preparing UV maps for a pair of shoes, and they’re going to be attached to a character for a videogame (I mean, I’ve no videogames now, but I want to optimize the model for that usage).
I was wondering how UV maps and materials should be prepared to have a model that is meant to be light to be processed by a CPU/GPU that may not be super powerful…

My pair of shoes (boots) have many little metallic parts as well as other items on the rest of the character like the belt, the bag and the buttons of the jacket.

As now I have created the UV map of the shoes by creating all the seams also on the very little metallic parts, and the laces, so the UV map is now like this:

I’ve done this because even if I know they’re different materials, I count to use PBR maps so I can define different specularity/metallic zones on the same set of textures (material), since I use Substance Painter.
Also, I’ve added them the seams to all those little metallic parts because I wanted to use a high poly version to make their normal maps more sharp.

But I don’t know if this is the right way to proceed.
I’ve these doubts, on the performance purpose:

  1. Is it better to join the same metallic part of the whole character in the same object and to create a texture set for those material only (and to define their specularity inside the game engine), or, to have less different objects but using secularity and metallic textures to define different materials on the same UVmap?
  2. Since the shoes are the same each other, is it nice to perfectly overlap the UV islands to save pixels and enlarge them? Or would it give problems in a game engine? Can I?

As you can see I don’t know what is heavier to manage for a graphic card… More textures? More materials? More objects? More UV islands? I don’t know it.
I ask this because if I rip some models from different videogames I see various possible managings of this quesiton…