Awake와 Start는 둘 다 Unity에서 오브젝트가 생성될 때 한 번만 호출되는 초기화 메서드지만, 호출되는 시점에 차이가 있습니다.
1. Awake
- 호출 시점: 게임 오브젝트가 활성화되자마자 가장 먼저 호출됩니다. 다른 스크립트의 Awake나 OnEnable 호출 전에 실행됩니다.
- 용도: 오브젝트의 기본적인 초기화 작업을 수행하는 데 사용됩니다. 주로 다른 컴포넌트나 스크립트와의 의존 관계 없이 초기화해야 할 경우에 적합합니다.
- 특징: 다른 스크립트가 비활성화되어 있어도 Awake는 실행됩니다.
2. Start
- 호출 시점: 모든 Awake 메서드가 호출된 후, 첫 프레임 직전에 한 번 호출됩니다.
- 용도: 다른 오브젝트나 컴포넌트가 초기화된 이후에 설정해야 하는 작업에 사용됩니다. 예를 들어, 다른 컴포넌트나 오브젝트의 상태가 필요한 초기화 작업은 Start에서 처리하는 것이 좋습니다.
- 특징: 오브젝트가 활성화될 때만 호출되므로, 비활성화된 상태로 시작하면 Start는 실행되지 않습니다.
요약
- Awake: 오브젝트가 활성화되면 제일 먼저 호출되는 초기화 메서드. 다른 스크립트와의 의존성 없는 기본 초기화에 적합.
- Start: Awake가 모두 끝난 후 첫 프레임 전에 호출. 다른 컴포넌트나 오브젝트와의 의존 관계가 필요한 초기화에 적합.
'Unity' 카테고리의 다른 글
[Unity] 3D에서 UI를 만들 때 꼭 알아야하는 필수 컴포넌트 RectTransform! (1) | 2024.11.07 |
---|---|
[Unity] 유니티 코루틴(Coroutine) 깊고 간결하게 정리! (2) | 2024.11.06 |
[Unity] Scale의 비밀 부모-자식 관계의 스케일 상속은 각 계층에서 곱셈 방식으로 적용 (0) | 2024.11.06 |
[Unity] 유니티에서 물리 관련 함수를 FixedUpdate()문에 쓰는 이유 (0) | 2024.11.06 |
[Unity] 2D 맵에서 가상의 벽을 만들고 싶을 때! (0) | 2024.10.25 |