if all the bone names and orientations/roll are the same, then you can just use the action actuator to point to the same animation. simply shift-D to create a duplicate armature, parent to the new mesh and weight paint.
but unlike unreal, theres no retargeting or offsets without going through a ridiculous amount of constraints. at that point it would be better to duplicate the action and edit.
you need stand bones armature in start position - select all bones press alt+r(clear all rotation) alt+s(clear all scaling) alt+g(clear all position) and assign for armature new character for link to armature - and remove parent link, if you need replace model in game (replace cloth or character) use actuators - edit object - replace mesh or python script -
own = cont.owner
skeleton = own.children[‘Armature’]
mesh = skeleton.children[‘Mesh_Player1’]
mesh.replaceMesh(“Archer”)
this get for you one skeleton in game and variants for replace mesh player models or replace enemy units, just need assign and remove links for mesh models because if you add unit in game for armature game engine added all children’s objects.
Remembers - name [‘Mesh_player’] its name only objects, not name polygrid - for replace mesh in script assign name how polygrid name in polygon grid name