깃허브를 통한 언리얼엔진 프로젝트 공유 방법

오늘은 깃허브를 통해 언리얼엔진 프로젝트를 공유할 수 있는 방법에 대해 글을 써보고자 합니다. 그동안의 시행착오를 통해 얻은 저만의 노하우입니다. 차차 개선해나갈 예정입니다. 많은 분들께 도움이 되었으면 좋겠습니다. (곧 언리얼엔진 공식 wiki에도 업로드 예정입니다.)

1. 기본원칙
깃허브에는 필수적인 파일만 올립니다. 깃허브에 업로드한 다른 파일을 통해 생성될 수 있는 부수적인 파일인 경우에는 올리지 않습니다.

2. .gitignore 파일
깃허브에 올릴 파일은 .gitignore 파일을 통해 관리합니다.

– .gitignore 파일이란?
.gitignore 는 무슨 파일을 git이 무시해야할지 (= 추적하는 것을 중단할지) 알려주는 파일입니다.

– .gitignore 파일에는 무슨 파일들이 포함이 되어야 하는가
크게 엔진에 의해 생성되는 파일 / 어셋 파일 / 비주얼스튜디오에 의해 생성되는 파일을 포함시키지 않습니다.

엔진에 의해 생성되는 파일과 비주얼스튜디오에 의해 생성되는 파일은 언리얼엔진 프로젝트 내의 ProjectName.uproject를 마우스로 오른쪽 클릭 -> Generate Visual Studio Files 하면 생성할 수 있기 때문에 1번의 기본원칙에 의해 git에 업로드하지 않습니다.

어셋파일의 경우, 용량이 크거나 (git은 크기가 100MB가 넘는 파일의 업로드를 허용하지 않음) / 처음에 만들고나서 다시 수정을 하지 않기 때문에 등의 이유로 git으로 추적을 하지 않습니다. 자주 수정을 할 경우에는 다른 방법으로 공유를 합니다. 이 방법에 대해서는 뒤에서 다시 다루도록 하겠습니다.

– .gitignore 파일 내용 (일반적인 경우)

#####################

#Unreal Generated Files#

####################

#*/Build

*/Binaries

*/DerivedDataCache

*/Intermediate

*/Saved

############

#Asset Files#

###########

*/Content/AssetFolderName1

*/Content/AssetFolderName2

*/Content/AssetFolderName3

##################

#VS Generated Files#

#################

*/.vs

 

3. 용량이 큰 나머지 파일들을 공유하는 방법

– 팀원들 사이에서 즉각적으로 공유할 때 : 외장하드를 통해 옮기는 것이 빠릅니다

  • 외장하드에 넣을 파일 목록: 어셋파일빌드데이터 파일 (일반적인 프로젝트의 경우)

*/Content/AssetFolder1

*/Content/AssetFolder2

*/Content/AssetFolder3

*/Content/Map/ProjectName_BuiltData.uasset

 

4. Github로 공유하는 절차

1. 먼저 Git Pull을 해서 필수적인 파일들과 merge 합니다.

2. ProjectName/Content 폴더 밑에 외장하드에 담은 어셋 폴더들 (Materials, Textures …) 을 복사합니다. 다 복사한 상태는 다음과 같습니다.

github_sharing_pic1

3. ProjectName/Content/Map 폴더 밑에 외장하드에 담은 파일인 LevelName_BuiltData.uasset을 복사합니다. 다 복사한 상태는 다음과 같습니다.

github_sharing_pic2

5. 주의해야할 점

Master Branch로부터 Pull 한 항목 중 코드가 있다면 (=Master Branch에 코드의 변경 내용이 포함되어 있다면) 4의 과정을 모두 실행한 뒤 */Build, */Binaries, */DerivedDataCache, */Intermediate, */Saved, */.vs 폴더와 그 이하의 파일들을 삭제하고 ProjectName.uproject를 마우스로 오른쪽 클릭 -> Generate Visual Studio Files 하여 필요한 파일과 폴더들을 자동으로 다시 생성시킵니다.

2 Comments

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중