Despierto versus comienzo
La secuencia de comandos API en Unity proporciona un conjunto de funciones de inicialización.
Las funciones de inicialización son las funciones que se llaman al inicio del ciclo de vida del script.
Las funciones de inicialización en Unity son 'Awake' y 'Start'.
'Awake' vs. 'Start'
Las diferencias entre 'Awake' y 'Start' son el orden de ejecución y las condiciones de ejecución.
La función 'Awake' se ejecuta primero, independientemente de si el script está habilitado o no, y la función 'Start' solo se ejecuta cuando el script está habilitado. Ambas funciones se ejecutan antes del primer método 'Update'.
void Awake()
{
Debug.Log("Awake runs first");
}
void Start()
{
Debug.Log("Start runds second");
}
La función 'Start' también puede ser una corrutina (reemplazando 'void' con 'IEnumerator' y agregando un parámetro 'yield'), pero la función 'Awake' no puede.
IEnumerator Start()
{
//Wait 1 second before running the next code
yield return new WaitForSeconds(1);
Debug.Log("Start");
}
Llevar
Ambas funciones son útiles para fines de inicialización (por ejemplo, asignar variables privadas, generar objetos de juego, etc.) y, cuando se usan en combinación, pueden ayudar a implementar una amplia variedad de escenarios.