Cannot set transform.forward and use Rigidbody.MovePosition simultaneously anymore.

void LateUpdate() {

Vector3 input = new Vector3(Input.GetAxisRaw("Horizontal"), 0, Input.GetAxisRaw("Vertical")).normalized;
rb.MovePosition(transform.position + (input * Time.deltaTime) * 10); 
transform.forward = input; 

I’ve created a brand new project to test this issue. I’ve done this exact same thing numerous times in the past with no prolems. Currently the entire project consists of a cube with the above script on it as well as a rigidbody with default settings. If the input direction is not the same as the current heading, the cube will not move, just spin. Using the keyboard works fine. I’m using an Xbox One controller. I highly doubt this is the issue because the cube’s heading will always adjust to input properly, however the actual movement will not. Here’s a streamable from the original project showing the issue:

Also sorry, I have no idea how to format correctly.

Hi, Changing the last line of code to rb.MoveRotation(Quaternion.LookRotation(input)); seems to solve your problem. I think this happened because you’re trying to directly modify the cube’s transform that is also affected by physics. It’s a good idea when transforming a rigidbody to use MovePosition and MoveRotation instead of just modifying the transform object position, rotation.