유니티 및 C#을 처음 접할 때 스크립트를 생성했을때 가장 먼저 볼 수 있는 함수가 Start와 Update함수일것이다.
Update 함수는 매 프레임마다 실행되는 함수이다.
그렇다면 Start와 Awake함수는 어떤 역할을 하는 함수일까?
두 함수는 언뜻 비슷한 역할을 하는것 같지만 자세히 살펴보면 다른점이 많다.
유니티 도큐먼트를 살펴보면, Start와 Awake는 아래와 같이 서술되어있다.
- Awake: 이 함수는 항상 Start 함수 전에 호출되며 프리팹이 인스턴스화 된 직후에 호출됩니다. 게임 오브젝트가 시작하는 동안 비활성 상태인 경우 Awake 함수는 활성화될 때까지 호출되지 않습니다.
- Start: 스크립트 인스턴스가 활성화된 경우에만 첫 번째 프레임 업데이트 전에 호출됩니다.
두 함수 모두 Update함수 호출 이전에 호출되고, 스크립트 라이프사이클중 한번씩만 호출된다는 공통점이 있다.
그리고 두 함수의 가장 큰 차이점은 다음과 같다.
1. Awake함수는 항상 Start함수보다 먼저 호출된다.
2. Start함수는 스크립트가 활성화 되어있는 경우에만 호출된다.
'Unity > C#' 카테고리의 다른 글
C#에서 구조체, value type (0) | 2021.09.13 |
---|---|
[Unity/C#] Update와 FixedUpdate (0) | 2019.06.17 |
[Unity/C#] Ray&Raycast (0) | 2019.06.11 |
-C#- 대리자(delegate) (0) | 2019.05.28 |
C# - Vector3 (0) | 2019.04.03 |