AddForce movement with rotation

Basic movement with AddForce option.

public class Movement : MonoBehaviour
{
    Rigidbody rb;
    float speed;
    void Start()
    {
        rb = GetComponent<Rigidbody>();
        speed = 2f;
    }
    void FixedUpdate()
    {
        if(Input.GetAxis("Horizontal") != 0 || Input.GetAxis("Vertical") != 0)
        {
            float movementX = Input.GetAxis("Horizontal");
            float movementZ = Input.GetAxis("Vertical");
            Vector3 movement = new Vector3(movementX, 0, movementZ);
            rb.AddForce(movement * speed, ForceMode.VelocityChange);

            // Turn the object along with the driving direction
            if (rb.velocity != movement)
            {
                transform.rotation = Quaternion.RotateTowards(transform.rotation, Quaternion.LookRotation(movement), Time.deltaTime * 200f);
            }
        }
    }
}