Unity 개발을 처음 시작할 때 종종 예상치 못한 문제에 부딪히는 경우가 많죠! 이번 포스트에서는 그 중 하나인, GetComponent()가 null을 반환하는 문제를 다루고자 합니다.
Animator 컴포넌트가 분명 게임 오브젝트에 추가되어 있음에도 불구하고, GetComponent() 호출 시 null이 반환되는 상황이에요.
이는 컴포넌트를 가져오는 동작이 예상대로 이루어지지 않아서 발생하는 문제입니다.

이 문제는 주로 두 가지 상황에서 발생해요:
저는 2번에 해당했습니다.

아까 위에서 말한 것처럼 GetComponent<>()가 null을 반환하는 경우는 컴포넌트가 아직 준비되지 않았기 때문입니다.
그럼 GetComponent를 쓰기 전에 컴포넌트를 준비시켜줘야겠죠?!
여기서 Awake와 Start의 차이가 나옵니다.
Awake()
Start()
Awake()는 모든 스크립트의 Start() 메서드가 실행되기 전에 호출되므로, Awake() 메서드 내에서 GetComponent()를 호출하면 문제를 해결할 수 있어요.