Change transform.Translate into rigidbody.

Hello, I have BIG problem. I have this code:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class RuszanieSie : MonoBehaviour
{
     public float moveSpeed;
     // Use this for initialization
     void Start()
     {
         moveSpeed = 8f;
     }
     // Update is called once per frame
     void Update()
     {
         transform.Translate(moveSpeed * Input.GetAxis("Horizontal") * Time.deltaTime, 0f, moveSpeed * Input.GetAxis("Vertical") * Time.deltaTime);
     }
}

it works, but it doesn’t work with Box Collider, I need rigidbody version of this code. I tried doing it but I just can’t do it, walking from code worked but wasn’t working with rotation, please help!

Have you tried using https://docs.unity3d.com/ScriptReference/Rigidbody.MovePosition.html


using something like the following

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class RuszanieSie : MonoBehaviour
{
    private Rigidbody rigidBody;
    public float moveSpeed;

    // Use this for initialization
    void Start()
    {
        moveSpeed = 8f;
        rigidBody = GetComponent<Rigidbody>(); // Complete our reference
    }
    // Update is called once per frame
    void Update()
    {

        rigidBody.MovePosition(moveSpeed * Input.GetAxis("Horizontal") * Time.deltaTime, 0f, moveSpeed * Input.GetAxis("Vertical") * Time.deltaTime);
    }
}

MovePosition takes only one argument as I remember