본문 바로가기
유니티3D[Unity3D]

[Unity] 부모 자식 간의 OnEnable/OnDisable 관계

by 은유지니 2023. 8. 10.

위 이미지 같은 부모자식 관계가 있다고 해보겠다.

GameObject가 꺼지면 child1, child2의 OnDisable함수가 발동하고,
GameObject가 다시 켜지면 child1, child2의 OnEnable함수가 발동한다.

GameObject가 키고 꺼질때 child1, child2의 OnEnable/OnDiable 실행 로그


하지만 GameObject가 꺼져있는 상태에서, child1과 child2는 켜져있다고 가정해보자. 

그리고 child1과 child2는 Image 컴포넌트를 가지고 있다.

그럼 다음과 같이 child1.activeSelf와 child1.GetComponenet<Image>().enabled을 검사하면 값이 어떻게 나올까?
실행시켜보면 모두 true가 나오는걸 확인할 수 있다.


이로 인해, 부모가 OnEnable/OnDisable할 때, 모든 자식의 OnEnable/OnDisable함수도 같이 작동하는 것을 알 수 있다.

하지만 각 자식 오브젝트들(+컴포넌트)의 on/off 속성들은 부모와 관계없는 것을 알 수 있다.