# transform.position assign attempt for "Cube" is not valid. Input position is { NaN, -Infinity, NaN }.

How to fix this error ?
With script i think evrything is ok…With scale of cube and ground same,it’s 1…
Check the script please and help me with that.
using UnityEngine;
using System.Collections;

``````[RequireComponent(typeof(BoxCollider))]
public class PlayerPhysics : MonoBehaviour {

private BoxCollider collider;
private Vector3 s;
private Vector3 c;

private float skin = .005f;
[HideInInspector]
public bool grounded;

Ray ray;
RaycastHit hit;

void Start()
{
collider = GetComponent<BoxCollider>();
s = collider.size;
c = collider.center;
}

public void Move(Vector2 moveAmount)
{
float deltaY = moveAmount.y;
float deltaX = moveAmount.x;
Vector2 p = transform.position;

for(int i = 0;i<3;i++)
{
float dir = Mathf.Sign(deltaY);
float x = (p.x + c.x - s.x/2)+ s.x/2 * i;
float y = p.y + c.y + s.y/2 * dir;

ray = new Ray(new Vector2(x,y),new Vector2(0,dir));
{
float dst = Vector3.Distance(ray.origin,hit.point);
if(dst > skin)
{
deltaY = -dst + skin;
}
else
{
deltaY = 0;
}
grounded = true;
break;
}
}
Vector2 finalTransform = new Vector2(deltaX,deltaY);
transform.Translate(finalTransform); //Error is in that line
}
}
``````

Input position is { NaN, -Infinity, NaN }.

NaN means Not a Number, which is a result from “strange math”. -Infinity means you got a value that represents negative infinity. You divided something by zero most likely. So let’s look at where you got divisions.

``````         float x = (p.x + c.x - s.x/2)+ s.x/2 * i;
float y = p.y + c.y + s.y/2 * dir;
``````

`s.x/2`, `s.x/2 * i` and `s.x/2`. Division with 2 is not a problem. Multiplication has precedence over division so `s.x/2 * i` can be read as `s.x / (2 * i)` and if `2 * i == 0` you got a problem. We can see where `i`comes from - the for loop, and it is initialized to 0.

``````for(int i = 0;i<3;i++)
//...
float x = (p.x + c.x - s.x/2)+ s.x/2 * i;
``````

It’s basically saying `float x = math_stuff / 0;` and will result in infinity for the first iteration. I guess if you fix that, your NaN’s might get solved too.