Third Person Blueprint Replication

Hey guys,

We’ve re-vamped our blueprint code to better handle replication, but we’re curious as to where the animation replication nodes should be stored. The standard third person animation sets replicate animation automatically (walk animations), but when we want to sprint, crouch walk, throw punches, etc., the animations themselves don’t replicate unless we set them up.

We’re still learning that process, and we’d love to know the best place to put those nodes (The anim blueprint or the character blueprint?)


I would also like to know the answer to this as I think it help me to understand why I can’t get AimOffset animations to replicate.

As a quick update, I think I’m getting the hang of this a little. I’ve been able to get my crouch animation replicating in one scenario - when I’m playing as the server, the client can see the crouch. However, when I’m playing as the client, the server cannot see the crouch. I did this by simply setting my crouch boolean to replicate. I’m now trying to figure out how to get clients to show this on the server.

This is actually a lot easier with typical variables (like spawning an actor) as it’s directly covered by the great tutorials (and honestly, makes more sense to me in general). However, AnimMontage elements seem to elude me. I tried creating a custom event that Runs on server (or multicast, I’ll try them all until they work) but then what could I do after that? It’s not like I can call AnimMontage elements directly in the Character class. How should I be communicating with the Montage (or Anim blueprint?)?


Here is my replication of AimOffsets (the BP animation is partially taken from another thread / answer hub)

  • The incoming line is from Event Tick on the Character Event Graph.
  • The Look Rotation variable is set to “Replicated”
  • The custom event is not “reliable” as in my game it is not necessary for other clients to see the aim offset

  • In the Animation BP, the Event Graph will set Look Yaw and Look Pitch.
  • The incoming line is from a cast to my character class to get “Look Rotation”

Hope this helps

Paulv2k4: That worked, though I’m only 90% sure why. :slight_smile:

There’s also documentation from Epic that’s troubling to me:

Last section at the bottom - first paragraph:

Right now our pipeline is such:

Crouching is a boolean that’s determined based on a button press in the IndigenousCharacter blueprint. That variable is set to replicated. That variable is also called in our Animation Blueprint and set to a local variable (because you can’t use execs in the state machines, thus you can’t cast to anything inside them). The local variable’s value determines what the State Machine does. I think this is the correct way to replicate animations, but I’d love a little feedback from Epic on this one to ensure we aren’t going to run into issues later.

You my friend saved my day :smiley: finally have crouching working. The above works perfectly and shows me how to setup the rest of the (custom) movement.