Unity 프로젝트에서 버전 관리가 불필요하거나 주의가 필요한 파일이 있습니다. 프로젝트 파일, 솔루션 파일, 그리고 editorUserSettings.asset과 같은 파일들은 Unity의 구성 및 사용자별 설정을 저장하는 데 사용되며, 모든 파일이 버전 관리에 적합하지는 않습니다. 아래는 각각의 파일에 대한 설명과 버전 관리 시의 권장 사항입니다.
1. Unity 프로젝트 파일 (.csproj, .sln 파일)
- Unity는 C# 스크립트를 컴파일하고, 코드 편집기(예: Visual Studio)와 연동하기 위해
.csproj와 .sln 파일을 자동으로 생성합니다. 이 파일들은 자동으로 생성되고, Unity가 변경할 수 있기 때문에 버전 관리에서 제외하는 것이 좋습니다.
- 권장 사항:
.gitignore 파일에 다음과 같이 추가하여 .csproj와 .sln 파일을 버전 관리에서 제외합니다:
*.csproj
*.sln
- 이 파일들은 프로젝트를 열 때마다 Unity가 자동으로 재생성하므로, 버전 관리에 포함할 필요가 없습니다.
2. Library 폴더
Library 폴더는 Unity가 프로젝트를 열 때 캐시 데이터와 임시 파일을 저장하는 곳입니다. 이 폴더는 프로젝트의 빌드 속도 및 로딩 속도를 개선하는 데 사용되지만, 각 개발자의 환경에 따라 달라질 수 있으므로 버전 관리에서 제외해야 합니다.
- 권장 사항:
.gitignore 파일에 다음과 같이 추가하여 Library 폴더를 제외합니다:
Library/
3. Temp, Obj, Build 폴더
- 이 폴더들도 Unity가 빌드 및 실행 시에 임시 데이터를 저장하는 곳이므로, 버전 관리에 포함되지 않도록 합니다.
- 권장 사항:
.gitignore 파일에 다음과 같이 추가합니다:
Temp/
Obj/
Build/
4. editorUserSettings.asset 파일
editorUserSettings.asset 파일은 사용자별 설정을 저장하는 파일입니다. 예를 들어, 특정 사용자의 에디터 레이아웃, 개인 설정, 최근 열었던 파일 목록 등이 저장됩니다. 이러한 설정은 각 개발자마다 다를 수 있으므로, 버전 관리에서 제외하는 것이 좋습니다.
- 권장 사항:
5. ProjectSettings 폴더 내의 일부 파일
ProjectSettings 폴더는 Unity 프로젝트의 공통 설정을 저장하는 곳으로, 일부 파일은 버전 관리에 포함해야 하고, 일부 파일은 제외해야 합니다.
- 버전 관리에 포함해야 하는 파일:
ProjectSettings/ProjectSettings.asset: 프로젝트의 전반적인 설정을 포함하므로, 버전 관리에 포함하여 팀 간 일관성을 유지합니다.
ProjectSettings/EditorBuildSettings.asset: 빌드에 포함될 씬 정보가 저장되므로, 버전 관리에 포함합니다.
- 버전 관리에서 제외해야 하는 파일:
ProjectSettings/EditorUserSettings.asset: 사용자별 설정이므로 제외합니다.
6. Logs 폴더
Logs 폴더는 Unity 에디터와 플레이 모드에서 생성된 로그 파일을 저장합니다. 이 파일들은 일시적인 디버깅 용도로만 사용되며, 버전 관리에서 제외해야 합니다.
- 권장 사항:
.gitignore 파일에 다음과 같이 추가합니다:
Logs/
7. Build 출력물
- 빌드 결과물(예:
Build/ 폴더)은 프로젝트의 실행 파일이나 패키지를 생성한 후의 결과물로, 이를 버전 관리에 포함할 필요는 없습니다.
- 권장 사항:
.gitignore 파일에 다음과 같이 추가합니다:
Build/
최종적인 .gitignore 예시
버전 관리에서 제외해야 하는 파일 및 폴더들을 반영한 .gitignore 예시는 다음과 같습니다:
# Unity generated files
Library/
Temp/
Obj/
Logs/
Build/
ProjectSettings/EditorUserSettings.asset
# Autogenerated project files
*.csproj
*.sln
*.userprefs
# Ignore crash reports, log files, and temporary files
*.pidb
*.booproj
요약
- 버전 관리에서 제외해야 하는 파일:
.csproj, .sln, Library, Temp, Obj, Build, Logs, ProjectSettings/EditorUserSettings.asset.
- 버전 관리에 포함해야 하는 파일: 프로젝트의 설정 파일(
ProjectSettings.asset, EditorBuildSettings.asset 등)과 Unity의 기본 에셋들.
이러한 기준을 따라 Unity 프로젝트를 관리하면 팀 간 일관성을 유지하면서 불필요한 파일이 버전 관리에 포함되지 않도록 할 수 있습니다.