If the meshes are similar enough, you can use the same skeleton for both chars and just have different animations. Manny and Quinn in the Third Person example content both use the same skele, Quinn just has her own anim bp which is a child of Manny’s and changes the walk/run/jump anims used by the state machines.
If the rigs are too different to do this, or you otherwise need unique player abilities or some such, best bet would be to set up all the logic in one character first, then make a child class of that and override variables and functions as needed.
To change between characters, you’d jut have to spawn one in and posses it. This could be done in game mode, level blueprint, or from the character itself even.
For example, I just added a name variable to the the basic third person character Then I made a child class (right click bp, and hit create child bp class) and on one changed the mesh and anim bp (plus the name var) to Quinn, and the other to use Manny.
In the parent class I added this quick and dirty test code:
Press 1, and it spawns Manny if you’re controlling Quinn or vice versa, then it destroys the old char.