//Movement calculations
float xMove = Input.GetAxis("Horizontal");
float zMove = Input.GetAxis("Vertical");
Vector3 horMovement = xMove * transform.right;
Vector3 vertMovement = zMove * transform.forward;
velocity = (horMovement + vertMovement) * movementSpeed * Time.deltaTime;
//Execute Movement
rb.MovePosition(rb.position + velocity);
Consider doing the calculations in FixedUpdate, but you should read about it and why and how.
Also your velocity var isn’t the velocity but the distance to move on one frame. And you will move faster diagonally if you don’t do:
(horMovement + vertMovement).Normalize()
And it’s no good to move position yourself when having a rigidbody, you should just set the velocity and let it be moved by the physics engine.
rb.velocity = (horMovement + vertMovement).Normalize() * movementSpeed;