Na Unity3D um Script é um conjunto de instruções que pode ser associado a um GameObject.
Assim que esta associação é feita, algumas funções (ou métodos) pré-definidas deste Script são chamadas de acordo com um ciclo de vida.
Em resumo este ciclo de vida é o seguinte:
1. A função Awake é chamada, independente do script estar habilitado (com a caixa enabled marcada) ou não,
todas as demais funções só serão chamadas caso o script esteja habilitado.
2. Em seguida é chamada a função Start, normalmente é nesta função que fazemos a inicialização do nosso script;
3. Depois disto, são chamadas funções específicas. Por exemplo, para cada frame é chamada a função Update, porém, o
frame rate pode variar bastante, dependendo da quantidade de objetos na cena, carga da CPU, texturas, etc. Então, se você quiser fazer atualizações em tempos exatos, você deve utilizar a função FixedUpdate;
4. As outras funções existentes são utilizadas para responder a eventos, como por exemplo um botão do mouse foi pressionado ou quando ocorrer uma colisão.
A figura abaixo ilustra este ciclo de vida de forma resumida: