See also First Person Rendering and Owner visibility.

Example in 5.6 First Person template

In the new 5.6 variant first person template, the player character blueprint uses 2 skeletal mesh. This is an interesting approach if you have a first person character that can be seen by other players or which should be rendered differently depending on other things such as cinematics.

The default native one acts like a “classic” third person character and has an AnimBP with the animation states and so on. The second SKMC (called FirstPersonMesh) has the same skeletal mesh asset but a different AnimBP.

An important info is that Owner No See is enabled on the default SKMC and that Only Owner See is enabled on the first person SKMC

The first person animation blueprint only does 2 things in the AnimGraph:

  1. Copy the skeletal pose from the parent (Mesh (CharacterMesh0))

  2. Apply a control rig which moves some bones (such as the head and shoulders)

This gives the following result (I moved the components for better visibility):

The great thing with that is that you only have to set up your AnimBP once and procedurally update your first person one.

First Person mesh not animating?

This can be caused by an incorrect setting on your base third person mesh, check the value of VisibilityBasedAnimTickOption. If your base character doesn’t update its bones, your child first person mesh will copy “nothing”.

Relative controls

In the 5.6 first person template the controls are set at the root, meaning that if you play animations such as crouching your controls will pull your character shoulders and head up because there aren’t attached.

I highly suggest moving each control as a child to their respective bone. Example: