Sveglia contro Inizio

Lo scripting API in Unity fornisce una serie di funzioni di inizializzazione.

Le funzioni di inizializzazione sono le funzioni chiamate all'inizio del ciclo di vita dello script.

Le funzioni di inizializzazione in Unity sono 'Awake' e 'Start'.

'Awake' contro 'Start'

Le differenze tra 'Awake' e 'Start' riguardano l'ordine di esecuzione e le condizioni di esecuzione.

La funzione 'Awake' viene eseguita per prima, indipendentemente dal fatto che lo script sia abilitato o meno, e la funzione 'Start' viene eseguita solo quando lo script è abilitato. Entrambe le funzioni vengono eseguite prima del primo metodo 'Update'.

    void Awake()
    {
        Debug.Log("Awake runs first");
    }

    void Start()
    {
        Debug.Log("Start runds second");
    }

La funzione 'Start' può anche essere una coroutine (sostituendo 'void' con 'IEnumerator' e aggiungendo un parametro 'yield'), ma la funzione 'Awake' no.

    IEnumerator Start()
    {
        //Wait 1 second before running the next code
        yield return new WaitForSeconds(1);

        Debug.Log("Start");
    }

Porta via

Entrambe le funzioni sono utili per scopi di inizializzazione (ad esempio, assegnazione di variabili private, generazione di oggetti di gioco, ecc.) e, se utilizzate in combinazione, possono aiutare a implementare un'ampia varietà di scenari.

Articoli suggeriti
Guida al monocomportamento nell'unità
Metodi di offuscamento di Unity e protezione anti-hack
Metodi all'inizio del runtime che inizializzano i valori in Unity
Elenco Unity di parole chiave utili in C#
Comprensione delle funzioni e delle chiamate ai metodi
Introduzione al linguaggio di scripting Unity C#
Come diventare un programmatore migliore in Unity