1. 컴포넌트는 까리하게 생긴 클래스일 뿐이다
직접 작성하는 클래스 외에도 유니티에서 제공하거나 에셋을 통해 얻을 수 있는 다양한 컴포넌트 기능들은 결국엔 MonoBehaviour를 상속한 클래스라는 것... 그래서 에셋으로 받은 수많은 컴포넌트의 수치들을 런타임중에 조정하는게 그렇게 어렵게 느껴졌었는데, 사실은 내가 작성한 스크립트를 GetComponent<>()를 통해 참조하고 변수, 프로퍼티, 메소드에 접근하는 것처럼 이를 그대로 하면 된다는... 개인적으로는 이거를 깨우치는게 유니티 프로그래밍의 첫걸음인거 같아요
2. transform에는 위치,회전,크기 값만 있는게 아니라 오브젝트 계층 구조 정보도 담고있다
이것도 유니티 처음 배울 때 엄청 헷갈렸던 내용이었어요. 계층 정보는 game에 담긴게 아니라 game.transform에 담겨있다는 것을 좀 늦게 알게 되었어요... 인스펙터에 위치,회전,크기 정보만 보여서 그렇게 생각했나봐요... 자식 오브젝트를 찾을 때 .Find(~)를 해도 맨날 빨간 줄이 켜져서 애먹는 경우가 너무 많았었어요
3. 에러 메세지는 생각보다 단순하지만 확실하게 알려준다
가장 많이 보는 에러메세지가 nullReference랑 outOfIndex일텐데, 진짜 말 그대로"없는 것에 접근함" "존재하지 않는 인덱스에 접근함"이라는 뜻인데 왜 자꾸 엉뚱한 곳을 수정하고 유니티 버그가 아닌지 고민했던 때가 많았어요... 특히 배열 초기화 안하고 배열에 접근하려고 했다가 에러 떠서 뭐가 문제지 하고 몇시간 동안 뻘짓한 기억도 있네요
에러 메시지같은거 보면 진짜 어디서 시작해서 어디서 문제 발생했는지 까지 다 알려주는거 되게 친절함 ㅋㅋㅋ
다 알려줬잖아 다 해줬잖아
개추