Match 3rd person pawn and camera to actor position and rotation?

I’ve been trying to figure this out. I have it setting the pawn location and rotation to match the actor, however, I’m having a time getting the spring arm to swing itself around behind the character so the camera is looking in the right direction. (I’m getting the player pawn for this and then casting it to my player character class to get the spring arm to call the reset function below)

Currently I have the arm set up in this way on the mesh component:

I found this function (UpdateDesiredArmLocation) I thought would help on the spring arm component so I was trying to make my own spring arm with a “reset” function. So I’m doing this in C++. I have a feeling I’m doing something just slightly wrong since I’m not super familiar with how the spring arm works, so I’m open to any solution, but would prefer to use C++.

The current reset function is just:

UFUNCTION(BlueprintCallable)
  void ResetArm() {
    UpdateDesiredArmLocation(false, false, false, 0);
  };