Go to the location shown AnimBP -> EventGraph -> Each Frame
1. Delete the highlighted nodes and plug back the Return Value in Current Pawn Direction.
At the same location as step 1
1. Substract 25 from Sprint Movement Speed
In the AnimGraph -> LowerBody -> Standing Movement to Sprint
1. Replace variable Sprinting with SprintSpeed.
2. Do the same in Sprint to Movement but keep the NOT.
3. Repeat 1 & 2 with the UpperBody state machine.
In the AnimGraph -> LowerBody
1. Add a Start Transition Event. Name it SprintSpeedOnTransition or whatever you like.
In the Event Graph -> Events
1. Add the setup as shown. You will need to create a boolean variable.
In the Event Graph -> Each Frame
1. Change the SprintSpeed logic for the setup shown in picture.
1. Add the new nodes for the velocity and current pawn direction.
In the Event Graph -> Each Frame -> Movement Component Setup
1. Add a boolean variable called Local Client and the 2 nodes as shown.
In the Event Graph -> Each Frame -> Set Aim Variables
1. Replace the current nodes with the new Local Client variable.
In the Anim Graph
1. Add the new nodes as shown. The 100 interp speed comes from the 0.01 interp server-side rotation correction in the CharacterMovement settings.