[Unity] GetComponent

한재민·2025년 2월 26일

용어정리

목록 보기
16/33
post-thumbnail

GetComponent

GetComponent<T>()는 Unity에서 특정 컴포넌트를 가져오는 함수다.
게임 오브젝트에 붙어있는 컴포넌트를 검색하고 가져오는 역할을 한다.

T는 가져오려는 컴포넌트의 타입을 나타낸다.
이 함수를 호출하면 지정된 타입의 컴포넌트를 찾아오는데
만약 컴포넌트가 없을경우 null을 반환한다.

Rigidbody rb = GetComponent<RigidBody>();
SpriteRenderer sr = GetComponent<SpriteRenderer>();

부모 또는 자식 오브젝트를 포함해서 컴포넌트를 가져올때는
GetComponentInParent<T>() : 부모 오브젝트 포함
GetComponentInChildren<T>() : 자식 오브젝트 포함
를 사용하면 된다.

Rigidbody rb = GetComponentInParent<RigidBody>();
SpriteRenderer sr = GetComponentInChildren<SpriteRenderer>();

TryGetComponent(out T component)


TryGetComponent

bool TryGetComponent(out T component)
컴포넌트가 있으면 true / 없으면 false를 반환한다.
GetComponent 이후 null 검사를 해야할때 사용하면 좋다.
GetComponent<T>()는 실행할 때마다 컴포넌트를 검색하기 때문에
반복적으로 호출하하면 성능이 저하될수 있다.


GetComponent를 호출할때마다 GC를 발생시킨다고 배웠다.
나중에 더 자세하게 공부해봐야지
암튼 자주 쓰면 성능에 안좋다는건 확실하다!

따라서 자주 써야하는 컴포넌트가있다면 Awake()Start()에서 미리 캐싱하자!

profile
유니티 클라이언트 취업준비중입니다..

0개의 댓글