[Unity] OnDisable vs OnDistroy

spixychz·2025년 3월 8일

Unity

목록 보기
5/15

유니티 생명 주기

유니티 생명 주기의 여러 메소드들 중에서 이번에는 OnDisable, OnDestroy. 이 친구들을 집중적으로 살펴보자.

OnDisable

동작이 비활성화되거나 비활성 상태일 때 이 함수가 호출됩니다.


Unity Documentation

OnDistroy

오브젝트 존재의 마지막 프레임에 대해 모든 프레임 업데이트를 마친 후 이 함수가 호출됩니다. 오브젝트는 Object.Destroy 또는 씬 종료에 대한 응답으로 파괴될 수 있습니다.


Unity Documentation


의문점

  • 두 이벤트 메소드는 비슷한 것 같은데 무엇이 다를까?

실험 결과

  • 순서: OnDisable -> OnDestroy
  • OnDisable의 발동 조건
    • OnEnable가 한번이라도 실행되었던 곳에서 실행
    • 컴포넌트가 비활성화되거나, 부착된 게임 오브젝트가 비활성화될 때 실행
  • OnDestroy의 발동 조건
    • Awake가 실행되었던 곳에서 실행
    • 컴포넌트가 제거되거나, 부착된 게임 오브젝트가 파괴될 때 실행
profile
UNITY로 게임 개발하는 사람

0개의 댓글