UnrealGameSync (UGS)

UnrealGameSync, 약자로 UGS 는 워크스페이스를 프로젝트의 스트림에 동기화할 때 사용하는 내부 개발자 툴입니다.

Windows
MacOS
Linux

Deployment_Banner-1.png

보통 언리얼 엔진 4 (UE4) 프로젝트의 팀 작업은, 코드와 콘텐츠를 지속적으로 개발하면서 프로젝트에 통합하는 환경에서 이루어집니다. 공동 개발 환경에서 일하는 팀이라면, 개발 및 통합 과정에서 발생할 수 있는 문제에 대해 그 팀이 얼마나 효율적으로 협력하고 소통하는지에 따라 성공 여부가 종종 갈립니다.

그럴 때 동기화 툴이 도움이 됩니다.

UnrealGameSync (UGS) 란?

개념적으로 UGS 는 공동 개발 환경에서 코드와 콘텐츠 통합을 촉진하는 툴로, 시간대도 다르고 위치도 다른 팀원들이 항상 업데이트되는 프로젝트를 동일한 상태에서 작업할 수 있도록 해줍니다. 기술적으로 UGS 는 Perforce 에서 UE4 프로젝트를 동기화하는 GUI 를 제공하며, 옵션을 통해 그 프로젝트를 Microsoft 의 Visual Studio 컴파일러로 빌드할 수 있습니다.

이 툴을 사용하는 아티스트 의 워크플로는 보통, UGS 로 프로젝트 파일을 동기화하고, 병합에서 발생하는 상충을 해결하고, 에디터 바이너리를 동기화하고, 버전 파일을 업데이트하고, 선택적으로 언리얼 프로젝트를 실행합니다.

Artist_Workflow.png

프로그래머 의 워크플로는 보통, UGS 로 프로젝트 파일을 동기화하고, 병합에서 발생하는 상충을 해결하고, 버전 파일을 업데이트하고, 프로젝트 파일을 생성하고, 선택적으로 UE4 를 빌드한 뒤 언리얼 프로젝트를 실행합니다.

ProgrammerWorkflow.png

병합 상충의 해결 서비스는 기본적으로 활성화되어 있지만, Options 단축 메뉴에서 비활성화할 수 있습니다. 추가로 UGS 에서 프로젝트 빌드를 비활성화하면 실행도 하지 않습니다.

UGS 설치 이후, 팀원들은 보통 동기화 툴을 사용할 때 발생하는 부담 걱정 없이 프로젝트 반복처리를 빠르게 진행할 수 있습니다.

UGS 의 수혜자

UE4 게임 프로젝트에 대해 파악하거나 기여하기 위해 기다리는 사람이면 누구나, 보다 구체적으로 개발자, 디자이너, 아티스트 입니다. 일반적으로 모든 팀원들은 애셋과 소스 코드가 들어있는 변경 사항을 안전하게 제출할 수 있는데, UGS 로 코드 및 콘텐츠 모두 쉽게 동기화할 수 있기 때문입니다.

개발자

  • 개발자는 변경목록(CL)을 제출하자마자 동기화할 수 있으므로, 그 CL 에 맞는 소스 코드를 로컬에서 바로 컴파일할 수 있습니다. 추가로 각 변경 사항에 코멘트를 추가하거나, 해당 빌드가 좋고 나쁜지 플래그를 설정하여 다른 개발자에게 알릴 수 있습니다.

  • 엔지니어가 깨진 빌드에 대한 수정 작업을 할 때, 플래그를 설정하여 수정 중이라는 사실을 나머지 팀원에게 알릴 수 있습니다.

  • 개발자는 버전이 없는 애셋을 제출할 필요 없이 로컬 빌드에서 안전하게 콘텐츠를 변경할 수 있습니다. 엔진 버전 (Version.hBuild.version) 파일이 동기화된 CL 에 맞게 업데이트되기 때문입니다.

  • UGS 에는 커스텀 빌드 단계가 포함되므로, 개발자는 프로젝트 전용 툴과 유틸리티를 구성할 수 있습니다.

참고로 빌드 시스템 결과를 표면에 노출시킬 때 (빌드 로그 링크와 함께) 제출된 CL 목록을 곁들일 수 있습니다.

크리에이티브

  • 아티스트와 디자이너를 통칭하는 크리에이티브는 Visual Studio 가 없거나 에디터를 컴파일할 필요가 없을 수 있으므로, CIS 가 컴파일한 프로젝트 에디터 압축 빌드를 받으면 됩니다.

  • 프로젝트 에디터 압축 빌드는 아티스트에게 특히 유용한데, 압축 빌드는 동기화하면서 압축을 자동으로 풀 수 있기 때문입니다.

마지막으로 QA, 프로덕션, 비즈니스와 같은 다른 부서 역시 UGS 를 사용하여 프로젝트의 상태를 파악하거나 개발자 및 크리에이티브와 협업할 수 있습니다. UGS 가 처음이라 사용법을 확인하려는 경우 UGS 퀵 스타트 문서를 참고하세요.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback