El método Awake()
en Unity se ejecuta una única vez cuando se instancia un objeto en la escena, antes de que se llame a Start()
. Se usa comúnmente para inicializar variables, cargar datos o establecer referencias a otros objetos antes de que comience la ejecución del juego.
El método Awake()
es parte del ciclo de vida de los scripts en Unity y se ejecuta automáticamente cuando un objeto con un componente MonoBehaviour
se activa en la escena. Se ejecuta incluso si el script está deshabilitado, lo que lo diferencia de Start()
, que solo se ejecuta si el script está activo.
Método | Cuándo se ejecuta | Se ejecuta si el script está deshabilitado | Uso recomendado |
---|---|---|---|
Awake()
|
Justo después de instanciar el objeto en la escena | Sí | Inicializar referencias y configuraciones esenciales |
Start()
|
Antes de la primera actualización del Update()
|
No | Inicializar variables y lógica que depende de otros objetos ya inicializados |
using UnityEngine;
public class EjemploAwake : MonoBehaviour
{
private void Awake()
{
Debug.Log("Awake: El objeto ha sido inicializado.");
}
private void Start()
{
Debug.Log("Start: El objeto está listo para ejecutarse.");
}
}
Awake()
: Se ejecuta en cuanto el objeto es instanciado en la escena.
Start()
: Se ejecuta después de Awake()
, pero solo si el componente está activo.
Jorge García
Fullstack developer