유니티 생명주기를 공부하다 Awake와 Start의 차이에 대한 질문이 들어왔다. 가장 중요한 호출순서의 목적에 대해 공부를 해볼 필요를 느꼈다.
공통점은 둘 다 한 번만 실행되는 초기화 이벤트함수지만 호출시기에 따른 차이가 있다.
Awake
- 스크립트와 연결된 게임오브젝트가 인스턴스화되거나 스크립트가 처음 로드될때 불린다. 즉 가장 먼저 호출된다.
- 해당 오브젝트가 Enable상태가 아니어도 위의 조건이면 호출된다.
- 다른 오브젝트에 대한 참조를 생성할 때 주로 사용한다.
Start
- 해당 스크립트 컴포넌트가 활성화되는 순간 호출된다.
- 호출시기는 Awake보다는 느리고 첫 Update보다는 빠르게 호출
- 참조를 통해 접근하는 작업이 가능하다.
즉, Awake는 항상 Start 함수 이전이나 프리펩의 인스턴스화 직후에 호출되고 Start는 첫번째 프레임 업데이트 전에 호출된다.
'Programming skills > Unity' 카테고리의 다른 글
[유니티] 서버와의 영상 정보 불러오기 (0) | 2023.10.28 |
---|---|
[Unity] 람다식과 델리게이트(delegate) (0) | 2023.10.18 |
[Unity] 생명주기 Life Cycle (0) | 2023.10.11 |
유니티 오브젝트 생성시 하위 오브젝트로 생성하기 (0) | 2023.08.17 |
c# 싱글톤(Single ton) (0) | 2023.08.10 |