본문 바로가기

개발 팁

유니티 라이프 사이클(Life Cycle)에 대해 알아보ㅈㅏ!

 OnDisable라이프 사이클이란?

유니티 엔진에선 저희가 실행하지 않아도 자동으로 실행해주는 함수들이 있는데 이 함수들이 호출되는 주기를 라이프 사이클이라고 합니다.

 

라이프 사이클

실질적인 라이프 사이클은 이렇지만 이번에는 큰 것들만 순서대로 정리해보도록 하겠습니다!

1) Initialization

  • Awake: 스크립트가 실행될 때 한번씩만 호출되며 게임의 상태 또는 변수 초기화로 사용합니다. 오브젝트가 비활성화 상태일 경우 호출되지 않지만 스크립트가 비활성화 상태인 경우엔 호출되고, 코루틴으로 실행할 수 없다는 특징이 있습니다.
  • OnEnable: 게임 오브젝트가 비활성화 상태에서 활성화 될때마다 호출됩니다.
  • Start: 스크립트가 활성화 될 때 한번만 호출되며 오브젝트나 스크립트가 비활성화 상태일때는 호출되지 않습니다.코루틴으로 실행할 수 있습니다.

2) Physics

  • FixedUpdate: 일정한 프레임 주기마다 호출되는 Update입니다. 스크립트가 비활성화 상태일때는 호출되지 않습니다.
  • OnTrigger: 오브젝트간 충돌을 체크하는 함수입니다. 물리연산을 하지 않고 통과하게 됩니다.
  • OnCollision: 오브젝트간 충돌을 체크하는 함수입니다. 물리연산을 진행하고 리지드바디가 필요합니다.
  • Update: 1프레임마다 호출되는 함수로 디바이스의 성능이나 최적화 상태에 따라 함수 호출 시간이 달라집니다. 스크립트가 비활성화 상태일때는 호출되지 않습니다.
  • LastUpdate: 모든 Update함수가 호출된 이후 1번씩 호출됩니다. 스크립트가 비활성화 상태일때는 호출되지 않습니다.

1) Decommissioning

  • OnApplicationQuit: 응용 프로그램의 종료 전에 모든 오브젝트에서 호출됩니다.
  • OnDisable: 오브젝트나 스크립트가 비활성화 될 때마다 호출됩니다. 코루틴으로 실행할 수 없습니다.
  • OnDestroy: 오브젝트를 파괴할 때 호출하는 함수로 마지막 프레임 업데이트 이후 호출됩니다.

이번 글에선 이정도로 정리하겠습니다!

라이프 사이클은 기억해두시면 도움이 될 수 있으니 함께 기억하도록 노력해봅시다!