I presume the body is different enough to need a different armature. What you would have to do is create a blendshape for each body to switch between. Then also create 2 armatures for each body. Join them together. If I remember correctly, you might have to click on the first, then the second and join them. Or vice versa, I just remember it caused issues if I did it the wrong way.
You would have to create you’re own walking and jumping animations, at least for the second body. You can get them from mixamo, if you don’t want to animate.
You can either have both characters animated and have those animations combined through NLA track in blender(or other ways).
The better way would be to have another locomotion set in your locomotion layer. You would have the same trigger for both the body switch and the animation change. I have a diagram I made a while back which would show you what you have to do.
With these methods you would still move around when you move slightly with VR(the little foot movement when you walk in real life). And when you turn around, the whole body might move. The armature is not influenced by the main one, so head tracking and others, should not be an issue.
It would still be affected by the hip rotation, so you would need to make an animation that locks everything. In the Vrchat animation layer, you would add a new block with proxy_stand_still in it. Connect “prepare standing” to it, then connect it to “blendout stand”. This would be triggered by the same as the others.
When importing the model, I think you would have to click on the model in Assets, then go to the animation tab in the inspector. Under mask, set definition to create from this model, then check all, but the mesh or including mesh. I’m not sure if this is necessary, but if you’re extra body isn’t animated this might be.
I am presuming you have at least some knowledge in 3d and making avatars, so if I did not explain myself well or you do not understand something, please feel free to ask, and I’ll be glad to explain it better