Controller Rotation Yaw Adds Jittery/Wobbly/Shaky Character Movement?

Have any of you noticed that the character movement is really wobbly if you’ve got Use Controller Rotation Yaw turned on and you’re not using any animations? I’ve actually experienced this in other projects as well and I’m wondering if anyone knows how to fix it? I should clarify, it happens with animations too, it’s just less noticable.

Basically, if you’re moving forward with W only, it’s fine. Even rotating the camera with the mouse leaves everything smooth. As soon as you move backward or on an angle though, (W+A or W+D) the mesh starts to wobble or get shaky. If you rotate the camera while moving backward, you get these sudden snaps of character rotation. It’s really bad.

Has no one else noticed this?

I experience this problem too.
The easiest solution I found is set the Capsule Component Yaw world rotation to Control Rotation Yaw rotation on Tick event.

1 Like

Hmmm Thanks for the suggestion. I’ll give this a try because even with animations my character mesh is wobbly. I guess it’s just not updating fast enough? I wonder if there’s a way to adjust that outside of setting it to tick?

If you used search in forum you wold find old posts, i had same problems.

For my project it was concurrent updates.
One was character component trying to rotate everrything to character movement
Another update was my blueprint rotating everything with camera direction.

Ps. You can mitigate this with camera arm and some camera lagg added. However this is bandaid. Just decide what decides on camera orientation, if its movement speed direction, or user rotating camera.

I did search before posting and didn’t find anything. I haven’t adjusted anything or added any extra bp code. This is just a plain Character bp with a camera boom and control yaw set to true so the character rotates with the camera.

I discovered If you’re trying to use this fix in a multiplayer game it won’t work. Obviously you don’t want to run an Event Tick on the server, and even if you make the code run locally, your character will still wobble online. To fix this you need to do two things:

Firstly add a branch from the Event Tick and use an “Is Locally Controlled” node and plug the return value into the branch. This will run the event tick only on your local client.
MP_WobbleFix

Then inside the Character Movement Component, search for “orient” and uncheck “Orient Rotation to Movement”. This will fix the shaking that everyone else will see.
MP_WobbleFix2

I think the Player Character component was really poorly coded. It has a lot of issues :stuck_out_tongue:

2 Likes

unless you WANT “Orient Rotation to Movement”…in which case…this wont work for us.

Yeah, that could be problematic. I wish I knew of a better fix. When you set it up so the charter rotates to face the direction of movement though, the issue doesn’t seem to be present for me. Is it wobbly for you when using Orient Rotation To Movement?

This jittering happens when you have 2 concurrent directions fighting over.
In this case probably “orient Rotation to movement” and something else like “controller rotation”

1 Like