본문 바로가기
Unreal Engine5/메타버스 개발자 경진대회

Unreal Engine 협업환경 구성

by wanna_dev 2023. 7. 11.

Unreal Engine의 협업환경 구성에서 어려움이 있었다.

Unreal Engine의 협업 환경은 크게  Perforce, SVN, Git 이 있습니다. 

Perforce 의 경우 서버 컴퓨터가 존재해야하고, SVN은 용량이슈가 있어서 Git을 선택했습니다.

 

1. 너무 큰 프로젝트 파일이 git에 올라가지 않아 문제가 있었다.

처음 시도했던건 프로젝트 파일에 필수요소만 올리는 것이었는데, .gitignore 파일은 다음과 같이 구성했었다.

 

# Visual Studio 2015 user specific files
.vs/

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app
*.ipa

# These project files can be generated by the engine
*.xcodeproj
*.xcworkspace
*.sln
*.suo
*.opensdf
*.sdf
*.VC.db
*.VC.opendb

# Precompiled Assets
SourceArt/**/*.png
SourceArt/**/*.tga

# Binary Files
Binaries/*
Plugins/*/Binaries/*

# Builds
Build/*

# Whitelist PakBlacklist-<BuildConfiguration>.txt files
!Build/*/
Build/*/**
!Build/*/PakBlacklist*.txt

# Don't ignore icon files in Build
!Build/**/*.ico

# Built data for maps
*_BuiltData.uasset



# Configuration files generated by the Editor
Saved/*

# Compiled source files for the engine to use
Intermediate/*
Plugins/*/Intermediate/*

# Cache files for the editor to use
DerivedDataCache/*

하지만 Content 파일 자체가 너무 커서 (약 20GB)

우리는 처음에 uasset 파일을 모두 제거하는 방식으로 접근하려고 했었다.

*.uasset

하지만, 그렇게되면 umap의 모든 에셋또한 사라진다.

 

따라서 Content의 umap이 저장된


Content/__ExternalActors__/*
Content/__ExternalObjects__/*

파일을 제외시키는 것으로 .gitignore을 작성하였다.

 

# Visual Studio 2015 user specific files
.vs/

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app
*.ipa

# These project files can be generated by the engine
*.xcodeproj
*.xcworkspace
*.sln
*.suo
*.opensdf
*.sdf
*.VC.db
*.VC.opendb

# Precompiled Assets
SourceArt/**/*.png
SourceArt/**/*.tga

# Binary Files
Binaries/*
Plugins/*/Binaries/*

# Builds
Build/*

# Whitelist PakBlacklist-<BuildConfiguration>.txt files
!Build/*/
Build/*/**
!Build/*/PakBlacklist*.txt

# Don't ignore icon files in Build
!Build/**/*.ico

# Built data for maps
*_BuiltData.uasset



# Configuration files generated by the Editor
Saved/*

# Compiled source files for the engine to use
Intermediate/*
Plugins/*/Intermediate/*

# Cache files for the editor to use
DerivedDataCache/*


!/Content/__ExternalActors__/*
!/Content/__ExternalObjects__/*

#ignore Assets
Content/Art_Background
Content/Collections
Content/ConstructionMachines
Content/Developers
Content/EuropeanHornbeam
Content/Megascans
Content/MSPresets
Content/NoneArt
Content/Resource
Content/RuralAustralia
Content/Scanned3DPeoplePack
Content/TrafficSign
Content/TrainStation
Content/VertexAnimatedFlags

그 결과 협업 환경을 구성할 수 있었다.