transform.position.z += 1

I want to make my player go forward 1 unit, after waiting. But my player goes forward on local vector3, not my players forward!

Code:

IEnumerator moveFWD(){
		print ("before wait");

		yield return new WaitForSeconds (5);

		charPos = transform.parent.position;
		charPos.z += 1;
		transform.parent.position = charPos;

		print ("after wait");
	}

gameObject.transform.Translate(new Vector3(1,0,0));