How can I duplicate complex enemies?

I’m currently working on an open world game and I just finished creating a zombie-like enemy for my character. I’d like to duplicate this enemy many times but the problem is this: The enemy consists of the enemy mesh, the armature, and the box which the armature is parented to which has all the movement controls. the box tracks the character constantly, and when it does it sends a message to the armature so that the armature does the “run” animation and it works like that for most animations. When I duplicate it, the box will send messages to the first, original armature not the duplicate. Is there a way I can duplicate the whole thing multiple times?