Reset : 오브젝트를 생성 후 인스펙터 뷰에서 리셋을 눌러줄 때 실행된다. 객체의 속성을 초기 값으로 설정해 줄 때 사용한다.
Awake : 스크립트가 실행될 때 한번만 호출된다. 모든 오브젝트가 초기화 된 후 호출되기 때문에 GameObject.Find 같은 명령문을 안전하게 사용할 수 있다. Awake 함수는 언제나 Start 함수 전에 호출되므로 초기화 순서를 정할 수 있게 한다. (Coroutine 사용 불가)
OnEnable : 인스펙터뷰에서 체크를 통해서 게임 오브젝트를 활성화 할 때 사용된다. 활성화 할 때마다 호출 된다.
Start : Update 함수가 호출되기 전에 한번만 호출된다. 다른 스크립트의 모든 Awake가 모두 실행된 이후에 실행된다. 스크립트가 활성화 되어 있어야한다.
FixedUpdate : 주로 물리 엔진을 사용하는 경우 일정 시간 간격으로 힘을 가할 때 사용하는 함수다. 발생 주기가 일정하다. (Default : 0.02초)
Update : 프레임마다 호출되는 함수로 게임의 핵심 로직에 사용된다. 스크립트가 활성화 되있어야 사용 가능하고, 주기가 일정하지 않다.
LateUpdate : 모든 Update 함수가 실행되고 나서 호출된다. 주로 카메라 이동 로직에 사용한다.
OnDisable : 게임 오브젝트 또는 스크립트가 비 활성화 되었을 때 호출된다. (Coroutine 사용 불가)
OnDestroy : 오브젝트 생존기간의 마지막 프레임이 업데이트 된 후 실행된다. (Object.Destroy 또는 씬 종료 시)
OnApplicationQuit : 응용프로그램 종료 전에 모든 오브젝트에서 호출된다. 에디터에서는 플레이 모드를 중지하면 나타난다.
Awake, Start 함수간 차이
Awake 함수는 비활성화 상태에서도 호출된다, Start 함수는 활성화 상태일 때만 호출되므로 두 상관관계를 고려해서 초기화작업을 진행할 수 있다.
FixedUpdate, Update, LateUpdate 차이
생명주기 테스트
'게임엔진 > Unity' 카테고리의 다른 글
[Unity] Cinemachine Confiner change - 시네머신 confiner 변경 (0) | 2023.09.11 |
---|---|
[Unity] 최적화 Batching, Draw Call, SetPass calls (0) | 2023.08.17 |
[Unity] Mono 분석 (0) | 2023.08.16 |
[Unity] 애니메이션 타입 legacy로 변경하기 (0) | 2023.08.14 |
[Unity] 그래픽스 최적화 - 드로우콜과 배칭 (0) | 2023.08.12 |