I have created a simple class that has a Spring Arm componenet as the camera boom. I created a blueprint and inherited from this class. Unfortunately, no matter what I try the spring arm will not rotate in the Blueprint Editor. The rotation values will change but the spring arm remains stuck in its position.
Does anyone know what is happening here and how to fix it? I have attached the source files I am working with to this post so you can try it for yourself.
I’m getting some weird results trying to fix this problem. This does happen by default with the ThirdPersonTemplate character so that is what I used to test but I couldn’t quite nail down which of these steps fixed it. I changed the UPROPERTY declaration for the Spring Arm in the .h to be EditAnywhere and BlueprintReadWrite instead of VisibleAnywhere and BlueprintReadOnly. After that, I changed the line that sets the bUsePawnControlRotation in the constructor to false. You may also want to comment out this line as it could override what you try to set in blueprints.
After that, in the details panel for the CameraBoom, it finally worked after hitting the yellow “reset to default” arrow beside the “Relative rotation” in the Transform category. I attempted reversing it to see if I could find out what exactly fixed it, but then I couldn’t get the issue to occur again.
It was the bUsePawnControlRotation on the CameraBoom that was causing the problem. I changed only that and everything is working perfectly now. That was a real hair puller of a problem.
I had this same problem. I had to save and restart the engine (4.13) after disabling “use pawn control rotation” and then it let me rotate the spring arm.
In case you need to keep bUsePawnControlRotation as true, you can use the following code in your Pawn to rotate the spring:
GetController()->SetControlRotation(SpringArmRotationTarget);