Inspector Transform False Reading

I have a very simple code that takes my character across a platform to 5 different positions.

void FixedUpdate ()
{
    if (Input.GetButtonDown("Right")
    {
        nextPos += Vector.right * 2;
    {

     if (Input.GetButtonDown("Left")
    {
        nextPos += -Vector.right * 2;
    {
  //All this code down here just moves the character along the path. 
  //This always works so I'll leave it out.

}

My player uses simple Vector2 positions: (-4, 0), (-2, 0), (0, 0), (2, 0), (4, 0). I have been running my code and scene countless times with no issues whatsoever. Just recently though, my player will randomly go crazy and everything pretty much goes to hell.

I’m pretty sure I have pin pointed the issue, I just don’t know how to correct it. When the player starts going crazy, I have noticed that even when he is at the (0, 0) position, the inspector reads (-1.9999, 0) or (-2.7, 0) but when I move to the left, it reflects (-2, 0). The player CLEARLY moves the proper units across.

If you’ve ever seen a multimeter try to catch a value and just show random numbers nearby, that’s what it looks like until it levels out to one of the false values.

Thanks!

notice from the docs here :

void Update ()
 {
     if (Input.GetButtonDown("Right")
     {
         nextPos += Vector2.right * 2;
     {
 
      if (Input.GetButtonDown("Left")
     {
         nextPos += -Vector2.right * 2;
     {
}

it’s ambigious when you use FixedUpdate (correct me if I’m wrong).

I’ve done some more monitoring on the scene and it seems like it is an issue with the colliders. With gravity on, my player moves fine along the path until he gets “slips” under an imperfection on the floor’s edge collider.