Unity/유니티 이해
생명 주기
mynote6590
2025. 1. 25. 21:15
생명주기란 ?
유니티 엔진이 게임 오브젝트와 그에 연결된 스크립트를 실행하고 관리하는 일련의 과정입니다. 유니티는 특정한 순서와 규칙에 따라 게임 로직과 물리 연산, 렌더링 등을 실행하며, 이러한 개념을 생명주기라 합니다.
생명주기 단계별 역할
Awake
게임을 실행하면 가장 처음 작동이 되는 함수입니다.
초기값을 세팅하는 용도로 자주 사용됩니다
Reset
인스펙터 뷰에서 컴포넌트를 reset시킬 때 작동을 합니다.
OnEnable
게임 오브젝트를 활성화 시킬 때마다 한번씩 작동됩니다.
Start
Awake 다음으로 빠르게 실행이 되는 함수 입니다.
모든 Awake 작동이 끝난 후 작동이 됩니다.
Update
계속 반복이 되는 함수 입니다.
프레임 기준으로 업데이트 됩니다.
주로 키입력 처리에 많이 사용됩니다.
FixedUpdate1
일정한 간격으로 업데이트 됩니다.
물리 연산에 주로 사용됩니다.
LateUpdate
모든 Update에서 가장 마지막에 작동이 되는 업데이트 됩니다.
OnDisable
게임 오브젝트를 비활성화 할 때마다 작동됩니다.
OnDestroy
게임 오브젝트가 삭제가 되었을 때 작동됩니다.
주로 메모리 해제 , 이벤트 구독 해제에 사용됩니다.
활성화 비활성화 상태에서 호출 가능 여부
함수이름 | 활성화 상태 | 비활성화 상태 | 특이 사항 |
Awake | ❌ | 🟢 | 생성 시 항상 호출. |
Start | 🟢 | ❌ | 한 번만 호출 |
Update | 🟢 | ❌ | 프레임마다 호출 |
FixedUpdate | 🟢 | ❌ | 일정 시간 간격 호출 |
LateUpdate | 🟢 | ❌ | 모든 Update이후 호출 |
OnEnable | 🟢 | ❌ | 오브젝트가 활성화 될 때마다 호출 |
OnDisable | 🟢 | ❌ | 오브젝트가 비활성화 될 때마다 호출 |
OnDestroy | ❌ | 🟢 | 오브젝트 삭제 시 항상 호출 |
Reset | ❌ | 🟢 | 인스펙터 리셋 시 호출 |