Intentar mover un objeto de jugador a la ubicación de inicio integrada en cada nivel del juego al inicio del nivel, pero el objeto no se reposiciona. El jugador no es hijo de otro, así que estoy trabajando con la transformación raíz aquí.
//move player to start position (I know find is expensive) startPosition_GO = GameObject.Find("StartPosition"); playerGO.transform.position = startPosition_GO.transform.position; //and just to be because playerGO.transform.position = new Vector3(startPosition_GO.transform.position.x, startPosition_GO.transform.position.y, startPosition_GO.transform.position.z); el objeto del jugador permanece donde estaba y no se mueve. 
incluyendo dos imágenes, primero, antes de comenzar el nivel, puede ver el objeto del juego de ubicación inicial (el cuadrado rosa). El código anterior se llama al inicio del nivel. La segunda imagen muestra dónde se encuentra el jugador (con el icono de flecha de navegación) después de ejecutar el código. 
Pruebe solo este código para mover la posición del jugador.
startPosition_GO = GameObject.Find("StartPosition"); playerGO.transform.position = startPosition_GO.transform.position;Establezca la posición una vez. Podrías quitar esto
playerGO.transform.position = new Vector3(startPosition_GO.transform.position.x, startPosition_GO.transform.position.y, startPosition_GO.transform.position.z);O esto y debería funcionar.
playerGO.transform.position = startPosition_GO.transform.position;El código parece redundante, lo que podría generar problemas.