[UE 5.3.2] TortoiseSVN Source Control

김민정·2024년 6월 3일

UnrealEngine

목록 보기
1/10
post-thumbnail

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

  • 참조된 컨텐츠 캐시 파일

Intermediate

  • 빌드 중 생성된 임시 파일

Plugins

  • 엔진에 사용되는 플러그인

Saved

  • 자동 저장된 파일

Source

  • 엔진, 에디터, 게임플레이 클래스 등 모든 소스 코드

uproject

  • json 파일
  • 엔진 버전, 불러올 모듈 등 플러그인 정보 포함됨

로컬 머신에서 사용하기

  1. 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
  1. Checkout Repository
  • 해당 폴더 경로는 한글 및 띄어쓰기가 포함되어 있지 않고, 255자 이하 여야 한다.
  1. 에디터 내에서 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

  • 재시작 시 변경사항 감지 옵션
  • 최신 버전으로 업데이트 한 뒤, 해당 옵션 때문에 중복해서 리임포트 되는 것을 방지하고자 꺼주었다.
profile
📝 공부노트

2개의 댓글

comment-user-thumbnail
2024년 6월 3일

좋은 정보 얻어갑니다 ^^

1개의 답글