본문 바로가기

개발/unity

[Unity] SerializedObject target has been destroyed

유니티 씬을 재시작 하거나 종료할 경우 SerializedObject target has been destroyed 라는 오류가 자꾸 뜨는 문제가 있었다..

원인 여러가지 있을 수 있지만 우리의 경우는

Object를 Inspector로 열어놓은 상태에서 씬을 변경하면 발생했다.

 

원인은 [System.Serializable] 이었다.

MonoBehaviour는 UnityEngine.Object를 상속하므로 문제가 발생하지 않지만,
아래와 같이 사용자 정의 클래스에 [System.Serializable]이 붙어 있고 이를 참조하는 경우 문제가 있었다.

[System.Serializable]
public class MyClass
{
    public string id;
    public MyData mydata;
}

 

씬이 변경되면서 해당 객체가 Destroy되었는데 Inspector가 여전히 이를 serialize하려 하기 때문이다.

이 문제는 Unity Editor에서만 발생하며 빌드 버전에서는 발생하지 않았다.

 

이 오류를 찾아준 팀원에게 무한 감사를..

'개발 > unity' 카테고리의 다른 글

[Steam] SteamCMD로 스팀 게임 올리는 방법  (0) 2026.05.03
[Unity] Unity Runtime Video Capture (FFmpeg)  (0) 2025.07.15
[Unity] UniTask vs Coroutine  (0) 2025.07.06
[MCP] MCP Unity 적용  (0) 2025.04.25
[Unity] 2d 오브젝트 정렬  (0) 2023.12.25