• Home
  • About
    • KKsDev photo

      KKsDev

      게임 프로그래머를 목표로 Unity, C#을 공부하고 있습니다.

    • Learn More
    • Email
    • Github
    • Steam
  • Posts
    • All Posts
    • All Tags
  • Projects

Unity Life Cycle

16 Nov 2023

Reading time ~1 minute

  1. 기술 면접 예상 질문 - Unity 의 생명주기(Unity Life Cycle)에 대해서 설명해주세요.

nbcbanner



기술 면접 예상 질문 - Unity 의 생명주기(Unity Life Cycle)에 대해서 설명해주세요.

Unity의 생명주기 란? Monobehaviour를 상속 받은 클래스를 컴포넌트로 가진 게임 오브젝트들이

생성 ~ 파괴까지 작동되는 내장 메서드 들이다. 대표적으로 오브젝트가 생성 될때 AWake, OnEnable ,Start 메서드가

순서대로 호출되고 생명주기 동안 UPdate,FixedUpdate,LateUpdate 메서드가 호출된다

그리고 파괴될 때 OnDisable이, OnDestroy 메서드가 호출되며 게임 오브젝트가 활성화 비활성화 될 때도 OnEnable, OnDisable가 호출된다.

Start()메서드는 모든 오브젝트의 Awake()가 종료된 후 시작된다는 특징이 있다.

추가적인 부분

결국은 하나의 오브젝트에서는 Awake() -> OnEnalbe() -> Start() 순서로 메서드가 호출된다는 사실을 알 수 있었다.

그런데 Start()메서드는 모든 Awake()가 종료된 시점에 호출되는데 그렇다면 모든 Awake()가 끝나고 서로다른

오브젝트의 OnEnalble() Start()는 같이 실행될 수 있는가? 에 대한 궁금증이 생겼다.

예를 들어 GOA와 GOB 가있을때 모든 Awake()가 종료된 후 GOA는 OnEnable()을 실행하는데 GOB는 OnEnable()이

빨리끝나거나 없어서 Start()를 실행하는 상황

(즉, Start()가 모든 오브젝트의 OnEnable을 기다리는가? )에 대한 부분이였는데,

결론은 Start()와 OnEnable()은 무관하게 실행되며 만약 OnEnable()이 있다면 Start()이전에 호출된다.



nbcthumbnail



TIQ내일배움캠프스파르타기술 면접 예상 질문 Share Tweet +1