문제: 깃을 사용하다가 브랜치 이거저거 들어가다보면, 혹은 오랜만에 유니티에 들어갔다거나 등등 오브젝트의 컴포넌트 Missing으로 스크립트 연결이 끊겨있을 때가 있다.
원인: 가장 큰 이유는 .meta 파일을 제대로 관리를 못했을 것이다. 그리고 기타등등의 이유.
방법:
일단, 나는 무식한 방법을 쓰기로 했다... ^_ㅜ...
깃은 모든 걸 알고있기 때문에... 만약 깃을 안썼다면 모르겠다... 🥲 어지간하면 혼자하더라도 깃을 쓰자...
1. 해당 깃 프로젝트로 들어가서 문제가 있는 씬의 .unity 프로젝트를 열자. 그럼 알 수 없는 코드들이 있는데.
2. 해당 오브젝트의 이름을 검색하자.
3. 그럼 아래와 같은 형태가 나올 것이다.
--- !u!1 &520921
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 520924}
- component: {fileID: 520923}
- component: {fileID: 520926}
- component: {fileID: 520925}
- component: {fileID: 520927} <- "520927" 이거를 찾을거.
- component: {fileID: 520928}
m_Layer: 0
m_Name: ControllerDirector <-"ControllerDirector" 이게 내가 검색한거
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
4. m_Component를 보면 컴포넌트가 여러개 있는데, 유니티 에디터 Inspector에서 보이는 순서다.(Transform도 포함되고 script가 아닌 모든 컴포넌트 다 포함이니까. 해당 스크립트가 몇번째인지 알아야한다.)
5. 만약 Missing인 스크립트가 6번째에 있다면 해당 fileID를 검색해보면(현재 화면에서 검색)
reviewRequestManager: {fileID: 520927}
이런형식인 걸 찾는다. 나는 520927 이걸 검색했다.
눈치챘겠지만, reviewRequestManager 이 스크립트가 Missing이라는 뜻이다.
정말 무식한 방법이지만, 다른 방법은 모르겠으니 뭐.. 별수 있나... 🫠