활동/내일배움캠프 Unity
[내배캠] TIL : 유니티 *.unity, *.prefab 파일 내부 구조 : YAML
김진우 개발일지
2024. 9. 10. 12:37
Git을 사용하면서 다른 브랜치와 머지할 때 충돌이 나는 경우는 매우 많다. 이때 언리얼은 소스 컨트롤과 연결해 충돌이 난 블루프린트에 어떤 부분이 충돌했는지 GUI로 표시하는 기능이 있고, 에디터 내에서 자체적으로 해결할 수 있다. 블루프린트가 바이너리 파일이라 당연히 지원해야하는 기능이다. 하지만 유니티는 텍스트 기반의 파일을 지원하며 충돌이 났으면 직접 파일을 열어 텍스트를 수정해야 한다. 그러므로 *.unity 파일과 *.prefab 파일의 내부 구조를 필수적으로 알아야만 충돌이 났을 때 해결할 수 있다.
파일의 내부 예시는 아래와 같다.
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &809173030620372623
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8288790660536373333}
- component: {fileID: 5128412440404470269}
m_Layer: 0
m_Name: Front
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
기본적으로 YAML 1.1 양식이다.