본문 바로가기
Unity3D

[Unity3D] Awake 와 Start의 차이점

by 따봉이 2020. 11. 19.
728x90
반응형

Awake와 Start

 

Unity의 이벤트 함수 중 자주 사용하는 것 중에 Awake와 Start가 있다.

둘 다 초기화 함수이지만 다음과 같이 다름 점이 있다.

 

Awake

- 호출시점 : 최초 씬 로드, 씬이 시작 될 때

 Awake 함수는 Start 함수 직전에 호출되며 Prefab의 인스턴스화 직후에 호출된다.

(만약 게임오브젝트가 스타트업할 때 실행되지 않을 경우 실행될 때까지 Awake는

호출되지 않는다.)

 

Start

- 호출시점 : 최초 프레임의 업데이트 전, 오브젝트가 인스턴스화될 때

스크립트의 인스턴스가 유효한 경우에만 최초 프레임의 업데이트전에 Start가 호출된다.

 

UnityEditor 에서 실행상 차이

Player의 Awake에서는 각종 초기화 코드를 실행합니다.

GameDirector의 Awake에서 행해지는 Root 설정은

Player의 초기화 후에 호출된다는 전제였습니다.

 

수정전 프로그램에서는 UnityEditor과 Android 에

GameDirector의 Awake보다 먼저 Player의 Awake가 호출됩니다.

 

공통점 

전체 실행 중 딱 한번만 실행된다.

초기화 목적으로 사용된다. 

 

 

 

728x90
반응형

댓글