Acordado vs. Iniciar

O script API em Unity fornece um conjunto de funções de inicialização.

Funções de inicialização são as funções chamadas no início do ciclo de vida do script.

As funções de inicialização em Unity são 'Awake' e 'Start'.

'Awake' vs. 'Start'

As diferenças entre 'Awake' e 'Start' são a ordem de execução e as condições de execução.

A função 'Awake' é executada primeiro, independentemente de o script estar habilitado ou não, e a função 'Start' só é executada quando o script está habilitado. Ambas as funções são executadas antes do primeiro método 'Update'.

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

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

A função 'Start' também pode ser uma corrotina (substituindo 'void' por 'IEnumerator' e adicionando um parâmetro 'yield'), mas a função 'Awake' não pode.

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

        Debug.Log("Start");
    }

Remover

Ambas as funções são úteis para fins de inicialização (por exemplo, atribuição de variáveis ​​privadas, geração de objetos de jogo, etc.) e, quando usadas em combinação, podem ajudar a implementar uma ampla variedade de cenários.