Unreal Engine 5.3.2 버전에서 TortoiseSVN과 소스 컨트롤 연동하는 과정을 기록해둔 문서입니다.
사전 구성
1. Visual Studio Installer → 수정 → C++를 사용한 데스크톱 개발
2. Visual Studio Installer → 수정 → 개별 구성 요소
3. Visual Studio Installer → 수정 → 개별 구성 요소
참고 자료
SVN 소스 컨트롤 사용법
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/using-svn-as-source-control-for-unreal-engine
디렉터리 구조
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/unreal-engine-directory-structure?application_version=5.3
에셋 이주
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/migrating-assets-in-unreal-engine
에셋 네이밍 규칙
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/recommended-asset-naming-conventions-in-unreal-engine-projects
에셋 자동 리임포트
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/reimporting-assets-automatically-in-unreal-engine
디렉터리 구조
해당 색상 폴더는 초기 추가 시 포함되어야 할 폴더이다.
Binaries
Build
Config
- 환경설정 파일 (ex. ProjectSetting, EditorSetting)
Content
DerivedDataCache
Plugins
Saved
Source
- 엔진, 에디터, 게임플레이 클래스 등 모든 소스 코드
uproject
- json 파일
- 엔진 버전, 불러올 모듈 등 플러그인 정보 포함됨
로컬 머신에서 사용하기
- Ignore Pattern 변경
- Config 폴더의 경우 담당자만 관리하기 때문에 Ignore Pattern에 포함시켰다.
- Binaries Config DerivedDataCache Intermediate Saved .vs .ini .suo .opensdf .sdf .sln .vcxproj .vcxproj.filters .pdb .uproject.user .sln.ide .suo .sdf .opensdf .opendb .sqlite Build .log .DSStore .DS_Store? . .Spotlight-V100 .Trashes ehthumbs.db Thumbs.db .exe .dll .obj .a .lib .so .dylib .pso .db .pdb .ilk .ipch .bak .zip .rar .tmp .gz .iso .7z .dmp .vsconfig .target *.modules
- Checkout Repository

- 해당 폴더 경로는
한글 및 띄어쓰기가 포함되어 있지 않고, 255자 이하 여야 한다.
- 에디터 내에서 Source Control 연동

- 체크아웃할 때 사용했던 레포지토리 주소, svn 계정 정보 입력
Checkout과 Checkin
Checkout
- 작업할 uasset에 대해 다른 사용자가 접근할 수 없도록 락을 걸고 접근하겠다는 의미
반드시 체크아웃을 한 뒤 작업을 진행해야 함
- ex. 작업자A가 머테리얼 BP를 체크아웃하면, 작업자B는 해당 머테리얼 BP에 접근할 수 없음

- 빨간색 체크 표시 : 현재 내 컴퓨터에서 체크아웃 중인 작업내용
- 초록색 체크 표시 : 현재 다른 컴퓨터에서 체크아웃 중인 작업내용
Checkin
- 작업 완료된 내용을 SVN 서버에 커밋하겠다는 의미

- Description : 로그
- Keep Files Checked Out : 서버에 해당 작업을 커밋한 뒤에도 계속 체크아웃하겠다는 의미
참고 사항
Developers
- 로컬 머신 이름으로 생성되는 폴더
- 테스트 및 개인 작업 용도로 활용된다.

- 프로젝트 세팅에서 쿠킹 제외 폴더로 선택해준다.
- 주의사항
- 작업이 완료되었으나 Developers 폴더 내 uasset을 참조하는 경우, 해당 uasset은 패키징 시 오류를 발생시킨다.
- Developers 폴더 내부에서 외부에 있는 에셋 참조는 가능하나, 외부에서 Developers 폴더 내부의 에셋을 참조할 수 없다.
- 작업이 완료된 항목들은 반드시 참조하는 내용까지 모두 포함하여 Content 폴더로 이주해야한다.
uasset
- uasset은 바이너리 파일이기에 리비전(이전 버전으로 되돌리는 것)과 머지(충돌 문제 해결)가 불가능하다.
- uasset은 이름으로 해싱 및 식별되며,
대소문자 구별이 되지 않아 네이밍에 유의해야한다.
- ex. BP_Test 와 BP_test 는 동일하게 인식됨
Detect Changes On Startup

- 재시작 시 변경사항 감지 옵션
- 최신 버전으로 업데이트 한 뒤, 해당 옵션 때문에 중복해서 리임포트 되는 것을 방지하고자 꺼주었다.
좋은 정보 얻어갑니다 ^^