게임 엔진/Unity

Destroying assets is not permitted to avoid data loss.If you really want to remove an asset use DestroyImmediate (theObject, true);

겜도리도리 2023. 1. 3. 14:26
반응형

개요

Unity에서 prefab 만들고 삭제할 때 발생한 오류

Destroying assets is not permitted to avoid data loss.
If you really want to remove an asset use DestroyImmediate (theObject, true);

 

상세

이렇게 Instantiate로 prefab을 넘겨 만들면

지울 때 문제가 발생한다.

prefab으로 만들어진 GameObject가 아니라 prefab 그 자체를 Destroy하려고 하기 때문.

따라서 prefab 그 자체가 아니라 GameObject를 지울 대상으로 선정할 필요가 있다.

해결

Instantiate할 때 Gameobject로 한 번 받아주면 된다.

진짜 애셋을 지우려고 한 의도였다면, DestroyImmediate(theObject, true)를 사용한다.

반응형