Start se llama en el frame cuando un script está habilitado justo antes de que cualquier otro método Update sea llamado la primera vez.
Al igual que la función Awake, Start se llama exactamente una vez en la vida del script. Sin embargo, se llama Awake cuando se inicializa el objeto script, independientemente de si se habilita o no el script. El inicio no se puede llamar en el mismo frame que Awake si el script no está habilitado en el momento de la inicialización.
La función Awake se llama a todos los objetos de la escena antes de llamar a la función de inicio de cualquier objeto. Este hecho es útil en casos en los que el código de inicialización del objeto A necesita confiar en que el objeto B ya está siendo inicializado; La inicialización de B debe hacerse en Awake mientras que A debe hacerse en Start.
Donde los objetos se instancian durante el juego, su función de Awake se llamará naturalmente después de que las funciones de Start de objetos de escena ya han completado.
using UnityEngine; using System.Collections;
// The ExampleClass starts with Awake. The GameObject class has activeSelf // set to false. When activeSelf is set to true the Start() and Update() // functions will be called causing the ExampleClass to run. // Note that ExampleClass (Script) in the Inspector is turned off. It // needs to be ticked to make script call Start.
public class ExampleClass : MonoBehaviour { private float update;
void Awake() { Debug.Log("Awake"); update = 0.0f; }
IEnumerator Start() { Debug.Log("Start1"); yield return new WaitForSeconds(2.5f); Debug.Log("Start2"); }
void Update() { update += Time.deltaTime; if (update > 1.0f) { update = 0.0f; Debug.Log("Update"); } } }