Splitting character mesh results in strange shadowing

I’ve been trying to make a customizable character with changeable equipment.
I have split my character mesh into several bodyparts( torso, hands, lower body, feet, head ), but ever since I did that, the shadow calculating broke. Probably because the vertex normals calculated wrong, since these faces are not welded anymore.
Here is a picture of the problem Any way to fix this?

I tried to do it in blender, but it didn’t really help, don’t even know why should it.

But anyways, are you sure it can be fixed in the modelling software? I mean this character will be moved by animations, and there will be animations where the lower body and upper body moves differently.
For example if it crouches, I’m sure even with fix vertex normals, the faces will rotate towards each other

Behold my amazing drawing. If the engine moves the faces with the animation, it should move the vertex normals too. Since the 2 face are not welded together, they have different vertex normals, and they will be moved differently. I think no matter what I do in modeling software, it will become like this. Please correct me if I’m wrong.

So I think I’d need to do something within the engine, to weld these faces together. Or just manually set their vertex normals… Or something…
I don’t really believe I’m the first who ever wants to put costumes in a game, with replacement method, not just attaching the clothes to the character. How does everyone solve this problem?