Vector3 updateVelocity(CelestialObject celestialObject, GameObject gameObject, CelestialObject targetCelestial, Vector3 targetPosition, bool isMoon) { float time = isMoon ? 1 :.005f; float celestialMass = celestialObject.getMass(); Vector3 velocity = celestialObject.getVelocity(); GameObject celestialGameObject = gameObject; Vector3 originalPos = celestialGameObject.transform.position; Vector3 acceleration = (calcForce(originalPos, celestialMass, targetPosition, targetCelestial.getMass(), isMoon) / celestialMass); print(acceleration); celestialGameObject.transform.position += (velocity * time + .5f * acceleration * time * time); Vector3 newPosition = celestialGameObject.transform.position; velocity = (newPosition - originalPos) / time; return(velocity); }