Unity 2D персонаж не ходит

Приветствую работаю с 2D объектом на Unity и не могу понять почему персонаж не ходит. Код для того чтоб персонаж ходил прописан верно , в самом unity персонаж на секунду совершает рывок и положение тоже изменяется, и дальше он не ходит все остальные функции работают отлично (Jump и поворот головы)

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

public class PlayerCTRL : MonoBehaviour
{
    public float speed = 20f;
    private Rigidbody2D rb;
    private bool faceRight = true;
    void Start()
    {
        rb = GetComponent <Rigidbody2D> ();
    }

    void Update()
    {
        // Speed
        float moveX = Input.GetAxis("Horizontal");
        rb.MovePosition(rb.position + Vector2.right * moveX * speed * Time.deltaTime);

        //Jump
        if (Input.GetKeyDown(KeyCode.Space))
            rb.AddForce(Vector2.up * 8000);

        //Поворот головы
        if (moveX > 0 && !faceRight)
            flip();
        else if (moveX < 0 && faceRight)
            flip();
    }
    // Поворот головы
    void flip()
    {
        faceRight = !faceRight;
        transform.localScale = new Vector3(transform.localScale.x * -1, transform.localScale.y,transform.localScale.z);
    }
}

Ответы (0 шт):