How to move smoothly without using iTween?

I have some objects. They move 1 unit(tile) pr. jump. When they move, I would like to make them move fast, but smooth (with a little ease in/out).

The next move can only happend when the first has completed, so holding the JUMP LEFT key will make it jump smoothly over time.

I am looking for a way to implement this.

At the moment I have a hard jump which works, but looks ugly:

void Update()
{
	if (Input.GetKeyUp(KeyCode.LeftArrow)) 
	{
		playerPos.X --;
	}

	if (Input.GetKeyUp(KeyCode.RightArrow)) 
	{
		playerPos.X ++;
	}

   goPlayer.transform.position = playerPos;
}

I’ve removed all the position checks and other unimportant stuff so focus can stay on the smooth movement.

I would like to break this down with a smoother jump, that would take lets say 0.5 sec.

I believe I need some kinda of way telling that I am currently in a move, so I cant move again and perhaps make a playerTargetPos too which I use for the movement?

Use MoveObject. It doesn’t have easing, but you can add that easily by changing the Lerp line in the Translation function from this:

thisTransform.position = Vector3.Lerp(startPos, endPos, t);

to this:

thisTransform.position = Vector3.Lerp(startPos, endPos, Mathf.SmoothStep(0.0, 1.0, t));

Use coroutines instead of Update to make things easier.