Work, Study/Unity

Awake, OnValidate, Initialize 차이점

Waltwaez 2024. 7. 29. 17:39

1. Awake

  • Unity 라이프 사이클의 일부.
  • 스크립트 인스턴스가 로딩될 때 한 번만 호출된다.
  • 비활성화 상태여도 호출된다.
  • 다른 스크립트의 Awake 메서드와의 실행 순서는 보장되지 않는다.
  • 초기 설정, 변수 초기화, 컴포넌트 참조 등에 사용된다.

2. OnValidate

  • Unity 에디터에서만 동작한다.
  • 인스펙터에서 값이 변경되거나, 스크립트가 로드될 때마다 호출된다.
  • 런타임 중에는 호출되지 않는다.
  • 에디터에서의 유효성 검사, 값 조정, 에디터 전용 로직 등에서 사용한다.

3. Initialize

  • 사용자 정의 메서드다.
  • 개발자가 직접 호출해서 사용한다.
  • 객체의 초기 상태 설정, 외부에서 필요한 데이터를 전달받아 초기화할 때 사용한다.
  • 언제, 어떻게 호출할지는 개발자가 결정한다.