Cloning the Third person character

Hi guys,

I have a third person character that I want to “clone” multiple times. I want all my clones to duplicate the main character’s rotation, movement, actions (jump, punch etc) at the same time than the main character (I may add a slight delay later to the duplicated actions). I ve tried multiple techniques but none of them work :frowning:
Can someone help me?

What have you tried so far? Have you tried for example, using event dispatchers, where you pass the Input Vector, the jump action, …, to the clones?

Thanks for your answer @EvilCleric
I havent tried event dispatchers and I’m not familiar with those. How would you do this? Duplicate the main character’s BP (or start a new one from scratch?) then what?

In the player character create 1 or more event dispatchers. In my case, I decided to use 2: one for the movement and another for the jump (you can use just one if you want).


Now, in the clones or any other character just bind to the dispatchers:


How do you get the input vector pin in the call clone movement dispatcher? Or the jump tick box? When I create the dispatcher and call them I only have the exec input?output and the target pin.
Thanks again for helping :slight_smile:

Details panel, at the top, there is a section “Inputs”. Just press the “New” button.

Ok thanks for explaining. I added a World direction pin (coudn’t find an input vector one) to the Call Clone Move dispatcher. Is this the same?
Also, when I try to connect the Cast to ThirdPersonCharacter “As Third Person Character” pin to the Bind event to clone Mov target pin I get an error saying: Third Person Character Object Reference is not compatible with (my cloneBP name) Object Reference. Did I forget to do something?

“World direction pin”???
“Third Person Character Object Reference is not compatible with (my cloneBP name) Object Reference.” ???

Show some pics of what you’re doing.

Here are some screenshots. Also, when I try to add the “jump” pin box to the call clone jump dispatcher it wont let me add it.

First, ignore “Copy Signature From”. You just add new parameter, name it and chose the type.

Also, did you create the dispatcherd in the third person character or in the clone? It should be in the thirdpersonchar.

I created the dispatcher in the third person character and when I create pins without “copy signature from” the pins don’t show the name i gave them and i get the following compile error:

Select all the nodes with error -> right mouse button -> Refresh Nodes.

Ok this worked, I m one step closer.
Now in the clone BP I still cant connect the target pin of the Bind Event to Clone Mov and the custom event still shows the world direction pin even though i changed it in the ThirdPersonCharacter BP (compiled and saved).

Select all the nodes, refresh and reconnect.

just did it and it didnt change anything :confused:

Not even the world direction pin?

Delete all nodes in the Clone, and do it again.

Ok I just did this and it works!! Almost all of it! Direction, movement and jump (trigger) work great but for some reasons:

  1. The walk/jog/run animation doesn’t work. The clones move in space but stay on the idle animation,
  2. The jump animation works but uses the leap animation (should only be used when running) and not the regular jump one,
  3. What can I call in the clone BP to clone my custom input actions from the main character BP (ie punch when a key is pressed)? I made custom events but what goes after the branch?

I m so close, thanks again for your help :slight_smile:

Are the clones copies of the third person character? If so, then it should use the same BP animation and it should use the same walk, run and jump animations as the player.

They do have the same anim BP (I duplicated the ThirtdPersonCharacter BP and only changed the Event Graph). What about cloning the punch animation triggered by a key press?

If that’s the case, then it should work as expected. I have no idea why the animations are not working.

Is the punch triggered by an action, just like the jump? If so, then it’s the same thing: a boolean in the event dispatcher.