유니티 씬을 재시작 하거나 종료할 경우 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 |