본문 바로가기
가이드/Unity, C#

유니티 Destroying assets is not permitted to avoid data loss 오류

by 루엔_vivid 2020. 3. 7.

여러 원인이 있을 수 있지만 나의 경우에는 오브젝트 대신 프리팹을 삭제할려고 할때 발생하였다.

 

Destroy(add_data);

add_data를 삭제하려고 하였다. 이 데이터는 프리팹으 만든 게임 오브젝트 였어야 하였다.

 

GameObject add_data = quest_data;

Instantiate(add_data, view_sub.transform);

quest_data 가 프리팹이었을때 이러면 결과적으로 add_data는 quest_data를 참조하고 있다.

 

GameObject add_data = Instantiate(quest_data, view_sub.transform);

quest_data_main.Add(add_data);

이렇게 하게 되면 add_data 는 Instantiate로 생성된 오브젝트를 참조하게 되어 오류가 발생하지 않게된다.

반응형

댓글