Confused as to why my game object is resetting to 0, 0, 0 coordinates with this simple movement script.

Hello! I am currently wondering why an earth my gameobject is resetting to 0, 0, 0 coordinates with this simple moving script.

using UnityEngine;
using System.Collections;

public class EnemyMovement : MonoBehaviour {

public float m_movementSpeed;
private Vector3 m_move;
private Rigidbody m_rigidbody;
// Use this for initialization
void Start ()
{
    m_move = Vector3.back;
    m_rigidbody = GetComponent<Rigidbody>();
}

// Update is called once per frame
void Update ()
{
    
}

void FixedUpdate()
{
    m_rigidbody.MovePosition(m_move * m_movementSpeed * Time.deltaTime);
}

}

MovePosition moves to a vector. It looks like you think it moves by a vector.

Without knowing what value you’be assigned to m_movementSpeed, by the time you’ve multiplied it by Time.deltaTime you’re getting a result very close to zero. Which is why your object then moves to the origin.