- 기술 면접 예상 질문 - Unity 오브젝트가 다양하게 씬에 올라와 있다면 동시에 시작되고 무엇이 먼저 초기화 되는지 알 수 없을 수 있는데, 프로젝트에서 코드를 만들 때 이에 대해 고민하고 해결해본 경험이 있다면 설명해주세요.
기술 면접 예상 질문 - Unity 오브젝트가 다양하게 씬에 올라와 있다면 동시에 시작되고 무엇이 먼저 초기화 되는지 알 수 없을 수 있는데, 프로젝트에서 코드를 만들 때 이에 대해 고민하고 해결해본 경험이 있다면 설명해주세요.
팀 프로젝트를 진행할 때 분명 작성한 코드는 같은데 기능이 원하는 대로 작동할 때도 있고 작동하지 않을 떄도 있어서
어려움을 겪어 튜터님의 도움을 받고 문제를 해결한 경험이 있습니다.
분명 기능이 작동하지 않다가 어떤 오브젝트 하나를 삭제한 후 다시 생성하면 정상적으로 작동이 되는 문제 였는데
이 문제는 Awake()와 오브젝트의 생성 순서 때문에 생기는 문제였습니다.
오브젝트 A와 B가 있고 A의 Awake() 문에는 반드시 B가 Awake() 된 후 실행되어야 할 메서드가
들어가 있었기 떄문에 오브젝트의 생성 순서가 A - B 일때는 작동되지 않다가 A를 삭제한 후
다시 생성하였을때 오브젝트의 생성 순서가 B - A 가되어 정상적으로 작동 했습니다.
튜터님이 문제를 찾아주셔서 어떻게 해결할지 고민할 결과 유니티에선 Monobehaviour들의 Awake()가 모두 실행되고 난
후에 Start()가 호출되기 떄문에 해당 메서드를 Start()로 옮겨주는 것으로 문제를 해결할 수 있었습니다.