[Pooling System에서 발생한 MissingReferenceException]

문제 요약

풀링된 UI 오브젝트 사용 중 SetParent() 호출 시 예외 발생

예외 메시지:

MissingReferenceException: The object of type 'GameObject' has been destroyed…

문제 원인

오브젝트를 Push() 한 후에도 죽은 부모(ScrollContentObject) 아래에 계속 붙어 있었음

이후 Pop() 하면서 SetParent() 호출 시

→ Unity 내부에서 기존 부모를 detach 시도

→ 부모가 이미 Destroy 상태여서 transform 접근 시 예외 발생

해결 방법

void OnRelease(GameObject go)
{
	go.SetActive(false);
	go.transform.SetParent(Root); // 부모가 Destroy 되기 전 안전한 위치로 이동
}

Push 시점에 오브젝트의 부모를 Root로 교체하여 죽은 부모와의 참조를 명확히 끊음

결과 및 효과

MissingReferenceException 완전히 제거

풀링 오브젝트가 항상 유효한 transform 계층을 유지