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