4.7p5: BP Third Person Camera - Add Controller Yaw & Pitch Issues

I’m creating a custom controller system in UE4.7p5 which adjusts Mouse & Gamepad X & Y values to take into account things like Inverted Y Axis before plugging the results into ‘Add Controller Yaw Input’ and ‘Add Controller Pitch Input’ Nodes. This is set up to control the character with a Third Person camera.

However when I run the game I don’t have any control over the third person camera and after going through lots of different options I’m lost as to what could be the cause.

I’ve never had this problem after following the Third Person Tutorial in previous builds. I’ve also followed it again from scratch, double checked my CharacterMesh, Spring Arm, Camera and Movement Component settings against Epic’s Third Person BP Starter Park and several over Third Person projects (all working fine in 4.7p5) that have been made available, replaced my Axis events with the basic Mouse_X and Mouse_Y ones and also tried copying Spring Arms and Cameras from a project using Epic’s Third Person BPs as a foundation. ‘Print Screen’ Nodes also confirm that both my Events, and the basic M_X and M_Y ones are putting floats correctly into the Pitch and Yaw nodes.

Just to clarify the Component settings I have set:

Camera Boom:

‘Use Pawn Control Rotation = True’

Follow Camera:

‘Use Pawn Contol Rotation = False’

Movement Component:

‘Orient Rotation to Movement = True’
‘Use Controller Desired Rotation = False’

Although I have also tried all 16 combinations of these 4 bools possible.

Since those other projects work fine I assume it’s a problem on my end, although the projects I have tried were built in earlier versions of the tools, despite being opened with 4.7p5. I’m stuck as to what I can try next or what other debugging options are available.

Does anyone have any suggestions on what I can try?

Ok, there seems to be a bug relating to the ‘Get Axis Values’ in the ‘Game Controller’ Blueprint that houses all the variables.

I do the following checks on the Mouse X & Y values and WASD values on the Keyboard every tick and if they’re all at 0 I will check for Gamepad values instead.

The Mouse X & Y produce floats correctly, confirmed by Print Screens in both the Controller and Character Blueprints, but when they’re fed into the ‘Add Controller Yaw’ and ‘Add Controller Pitch’ Nodes (assumig a Gamepad isn’t being used, which in this case, one isn’t), those nodes do not do anything.

If I unhook the custom events that feed the final Look & Move X & Y values into the ACY and ACP nodes and feed Mouse_X and Mouse_Y events directly into ACY and ACP nodes in the player blueprint I will still get no camera movement UNLESS I go back into the Controller Blueprint and stop the above nodes from running at all.

Is there a bug with the ACY and ACP nodes and Axis Value nodes??

Also, it’s worth noting that the Movement inputs of the Keyboard work absolutely fine.

Apologies, ok, I’ve ruled out the Keyboard X & Y events being the problem and narrowed it down to this:

If you check for the Mouse X or Y axis values in the Player Controller Blueprint, you cannot change the Controller Rotation for Pitch or Yaw (and probably roll) in the Player Character Blueprint.

This includes checking for the Mouse X & U axis values directly via the associated Blueprint Nodes or by checking the values of Input Events associated with the Mouse X & Y axis values.

Finally got access to a X360 pad. This issue also occurs when using a gamepad.

Epic, can you confirm if this is a bug or not? To re-iterate the issue:

"If you check for the Mouse X or Y axis values in the Player Controller Blueprint, you cannot change the Controller Rotation for Pitch or Yaw (and probably roll) in the Player Character Blueprint.

This includes checking for the Mouse X & U axis values directly via the associated Blueprint Nodes or by checking the values of Input Events associated with the Mouse X & Y axis values."

I’ve encountered this as well, did you convert this project from an earlier version of unreal? Because you may need to copy the logic into a new blueprint and delete the old.

Not yet, but I will give that a go over the weekend :slight_smile: