I have the formula from wikipedia - https://en.wikipedia.org/wiki/Projectile_motion this is the code: Code (CSharp): public static float GetTimeOfFlight(float vel, float angle, float height){ // return ((vel * Mathf.Sin (angle)) + Mathf.Sqrt (Mathf.Sin (angle) * Mathf.Sin (angle) + 2.0f * -Physics.gravity.y * height)) / -Physics.gravity.y; return (2.0f * vel * Mathf.Sin (angle)) / -Physics.gravity.y; } both of these line should return the same result, and they do, but the value i get is jumping between positive and negative, how could this be?