컴포넌트 기반 설계 이해 + MonoBehaviour 생명주기 + Draw Call 배칭 + 프로파일러 디버깅 경험
팀 프로젝트에서 Unity로 처음 게임을 만들면서 엔진 구조를 이해하는 데 도움이 된 경험들이 생겼습니다. 엔진 구조 측면에서는 게임 오브젝트와 컴포넌트 기반 설계가 어떻게 작동하는지를 이해한 것이 기능을 구현할 때 가장 큰 도움이 됐습니다. 스크립트 측면에서는 MonoBehaviour의 생명주기(Awake, Start, Update)를 제대로 이해하지 않으면 초기화 순서가 꼬이는 문제가 생긴다는 걸 직접 경험했습니다. 렌더 측면에서는 Draw Call 수가 성능에 영향을 주는 걸 확인하면서 배칭 개념을 처음 접했습니다. 디버깅 측면에서는 Unity 프로파일러로 어느 함수가 프레임 시간을 가장 많이 쓰는지 확인하는 습관이 생겼습니다. 엔진을 이해하는 가장 빠른 방법은 공식 튜토리얼보다 실제 프로젝트를 만들면서 막히는 지점을 공식 문서에서 찾아보는 것이라는 걸 배웠습니다.
게임 엔진 구조를 이해하면 어떤 문제를 어느 컴포넌트로 해결해야 하는지가 보이는 자리라는 걸 그때 느꼈습니다.