Setup
I have a character blueprint with a camera attached to a spring arm which is parented to the head socket of my character. The socket offset is (35,0,0) and the boom arm length is 10. Movement works. The camera is not updating its rotation unless I move down past horizon. I also observed, at each 90 degree (left, right, front, back) the camera stops. I assumed there was something wrong with the animations so I began debugging and trying multiple things to find out where the failure was happening.
Debugging
In my character, I placed on Tick, a PrintString that is printing the RelativeRotation of the player camera. Ah ha! The rotation is not updating unless I move the character a bit and then it snaps into place and works. As I move the camera up passed horizon, it stops updating again. WHY?
I have one level (ThirdPersonExampleMap) where this issue does not happen and for the life of me I do not understand why this ONE level works. I duplicated the level to see if that was an issue. The character camera stopped updating there too. Then I built the lighting and it began working again. Now I am confused.
I built a new level using the Day/Night template. Nothing in it has changed except for the character. Same issue. The camera does not update unless I look down past horizon. Ah ha! Build the lighting. Nope. Still a no go. Now things were getting weird.
I started from the bottom. New character. Base Player controller. No animation blueprint. Just a character in the level. Still happens. How is this possible?
Ok, new project. Moved my Test Character to the new project and…■■■■…no go. The camera rotation freezes the second it begins. If I move my camera behind the head of my character, it begins to work again. Placing it back where it is inside the head it stops. Ah ha moment! If I place the camera at the head socket location or behind, the camera updates. I removed the camera boom believing that was causing an issue. Nope. Same issue. With the camera as a child of the mesh, parented to the head socket, at Location (0,0,0) it works. Any Location in front of (0,0,0) the camera rotation no longer updates unless I look down past horizon.
I created a new character, no animation blueprint. No controls. Just a mesh with a camera and the base player controller. Still happening.
To guess and confirm this was the issue with a mesh and boom and camera, I brought in the starter character and placed it in the level. I adjusted the camera on the boom as stated above (the socket offset is (35,0,0) and the boom arm length is 10 attached to the head socket and camera to the boom) and viola, it works without issue.
Help
So now I am lost. After two weeks of debugging, trying different things, I am reaching out to the community for some help! I am willing to try new ideas or new debugging. Also willing to share screen shots if necessary. Hoping someone has experienced or at least knows of a possible solution.