간단하지만 까다로운 언리얼 엔진 개발 환경 구축

🧐 | 2022-05-30

안녕하세요, 넷마블 TPM실 기술분석팀 유주영입니다.

넷마블은 물론이고, 여러 회사에서 언리얼 엔진을 사용해 게임을 개발하고 서비스합니다. 그래서 언리얼 엔진 기반으로 개발하는 게임을 마주한다면, 직접 게임을 개발하는 개발자가 아니더라도 디버깅이나 성능 분석을 위해 언리얼 엔진 개발 환경을 구축해야 하는 상황이 생깁니다. 특히, 언리얼 인사이트나 네트워크 프로파일러 같은 유용한 툴을 쓰기 위해서는 언리얼 엔진 소스를 다운로드해 전체를 빌드해야 합니다.

언리얼 엔진 개발자들은 이미 익숙하게 잘 쓰고 계시겠지만, 언리얼 엔진이 제공하는 툴을 쓰는 지원 부서나 간접적으로 언리얼 엔진을 활용해야 하는 분들께서 최초 환경을 세팅하기 위한 간단 가이드를 소개합니다.

언리얼 엔진 개발 환경 세팅을 위한 기본 가이드는 언리얼 엔진 공식 문서를 참고해주세요.
https://docs.unrealengine.com/

미리 준비하기

이 문서는 윈도우 환경 기준으로 설명합니다.

  • 언리얼 엔진 구동 여부에 맞춘 적정 스펙을 갖춘 PC
  • 512GB 이상 SSD
  • 에픽게임즈 계정(회원가입 필요, 링크)
  • 깃허브 계정(회원가입 필요, 링크)
  • 비주얼 스튜디오(커뮤니티 라이선스도 가능, 링크)

언리얼 엔진 구동 여부에 따라, 권장 PC 스펙은 큰 차이가 있습니다. 개인별로 적당한 스펙이라는 기준을 잡기가 매우 어려우므로, 한번 사용해보시고 상위 스펙을 준비하셔도 괜찮을 것 같습니다.

언리얼 엔진 소스 다운로드 및 빌드하실 때 하드 디스크가 HDD라면 매우 안 좋은 경험을 하실 수 있으므로, 최소 512GB 이상인 SSD를 준비하시는 것이 좋습니다. 텅 빈 엔리얼 엔진만 빌드해도 대략 150GB 정도는 소모되므로, 용량 확보는 꼭 미리 하셔야 합니다.

언리얼 엔진 버전별 비주얼 스튜디오 호환성

언리얼 엔진은 버전별로 비주얼 스튜디오 호환성이 다릅니다. 예를 들어 언리얼 엔진 4.22는 비주얼 스튜디오 2017과 2019 모두에서 사용할 수 있지만, 언리얼 엔진 4.25는 비주얼 스튜디오 2019에서만 사용할 수 있습니다. 버전별 호환성을 꼭 확인하시고 준비하시길 추천합니다.

언리얼 엔진 리포지터리를 열려면

언리얼 엔진은 소스코드가 공개돼 있습니다. 그러나 흔히 말하는 ‘오픈소스(Open Source)’라고 말할 순 없으며, 소스코드에 접근할 수 있도록 권한을 요청하는 최소 프로세스를 거쳐야 합니다.

깃허브 리포지터리에 초대받기

언리얼 엔진 리포지터리는 깃허브에 있습니다. 만약 아무런 프로세스를 거치지 않은 채로 접속하면 ‘404 페이지’를 만날 수밖에 없습니다.

먼저 에픽게임즈 홈페이지에 로그인하고, 계정 설정에서 깃허브 계정과 연결해야 합니다. 깃허브 계정 연동을 마치면, 등록한 이메일로 깃허브 리포지터리 초대 메일을 받으실 수 있습니다.

초대 메일까지 정확히 받으셨다면, 에픽게임즈 언리얼 엔진 리포지터리에 접속하실 수 있습니다. (초대 메일까지 못가시면 리포지터리에 접속하셔도 없는 페이지로 뜹니다.)

릴리스 버전은 태그 검색으로

2022년 5월 23일 기준으로, 언리얼 엔진 리포지터리에는 65개 브랜치와 223개 태그가 등록돼 있습니다. 언리얼 엔진 버전에 상관없이 최신 버전을 쓰는 경우가 아니라면, 각자 프로젝트 환경과 동일한 버전을 사용해야 합니다. 이때, 언리얼 엔진을 버전별로 구분해서 찾아야 하며, 브랜치가 아닌 태그를 검색해 받으시면 됩니다.

깃 CLI로 깃허브에서 소스코드를 다운로드하는 방법 설명은 생략하겠습니다. 웹UI에서 소스코드 다운로드하셔도 무방합니다.

빌드하기

비주얼 스튜디오 설치

비주얼 스튜디오 커뮤니티 에디션에서도 언리얼 엔진을 빌드할 수 있습니다. 비주얼 스튜디오 커뮤니티 사용 조건을 꼭 확인하시고, 라이선스에 위배되지 않도록 주의하셔야 합니다. 위에서 말했던 언리얼 엔진별 호환 버전은 꼭 확인하시길 당부드립니다.

비주얼 스튜디오 버전마다 다소 차이는 있지만, 기본적으로 워크로드에서는 ‘C++를 사용한 게임 개발’을 선택하고, 개별 구성 요소에서는 ‘Unreal Engine 설치 관리자’와 ‘NuGet 패키지 관리자’를 선택해 설치하시면 됩니다. .Net 프레임워크 관련 부분은 후에 언리얼 엔진 소스코드를 불러올 때 필요한 버전을 자동으로 인식해 설치하는 화면을 만나실 수 있습니다.

비주얼 스튜디오 과거 버전 다운로드

비주얼 스튜디오 2022가 아닌 이전 버전을 다운로드하려면, ‘Visual Studio Dev Essentials’ 페이지를 이용하시면 됩니다.

비주얼 스튜디오 프로젝트 설정

  • 아래 설명 중 ‘UEx’로 표기한 단어에서 ‘x’는 UE 버전을 변환 표기한 문자입니다. 언리얼 엔진4라면 UE4로, 언리얼 엔진5라면 UE5로 읽어주시면 됩니다.

언리얼 엔진 리포지터리에서 다운로드한 폴더에는 ‘Setup.bat’ 파일과 ‘GenerateProjectFiles.bat’ 파일과 ‘UEx.sln’ 파일이 있습니다. 먼저 ‘Setup.bat’ 파일을 실행해 언리얼 엔진용 바이너리 콘텐츠(Binary content)와 필수 구성 요소 등을 설치합니다. 이때, 파란 경고창 화면에 담긴 ‘MS SmartScreen’이 등장할 수 있습니다. 그대로 진행하시면 됩니다.

‘Setup.bat’ 파일 설치를 마쳤다면, ‘GenerateProjectFiles.bat’ 파일을 실행해 프로젝트 파일을 생성합니다. 프로젝트 생성을 완료했다면, ‘UEx.sln’ 파일을 클릭해 비주얼 스튜디오를 실행합니다. (‘GenerateProjectFiles.bat’ 파일 실행 결과에서 .Net 패키지 누락 관련 에러 메시지가 나온다면, 비주얼 스튜디오 설치 화면에서 해당 .Net 프레임워크 버전을 추가 설치하시면 됩니다.)

이제 ‘F5’키를 누르면 전체 빌드를 할 수 있습니다. 다들 예상하시겠지만, 빌드 시간은 매우 오래 걸립니다. 빌드하는 동안 UEx Editor나 기타 툴(최초 빌드를 하기 전에는 존재하지 않습니다)은 사용할 수 있으므로, 다른 업무나 문서 작성 등을 하면서 대기하시는 것을 추천합니다.

빌드를 완료하면 프로젝트 폴더의 ‘Engine\Binaries\’에서 주요 툴을 볼 수 있습니다.

주요 툴

  • UExEditor.exe: 언리얼 에디터 실행파일
  • UnrealInsights.exe: 프로파일러 툴, 매뉴얼
  • NetworkProfiler.exe: 네트워크 프로파일러 툴, 매뉴얼

마켓플레이스

언리얼 엔진 마켓플레이스에는 개발 참고용 애셋이나 게임 콘텐츠가 있습니다. 이를 활용해 아트 또는 사운드 콘텐츠를 제작할 때 실제 구현 예시를 참고하거나, 개발에 필요한 요소 등을 미리 살펴볼 수 있습니다. 언리얼 엔진 마켓플레이스를 사용하려면 에픽게임즈 런처를 설치해야 합니다.

런처가 없어도 마켓플레이스는 사용할 수 있지만, 여러 편의 기능이 들어가 있는 런처를 활용하는 것을 추천합니다. 런처를 실행하고 ‘언리얼 엔진’ 메뉴로 들어가면 마켓플레이스가 있습니다.

카테고리를 선택하거나 검색해서 자신에게 맞는 애셋을 프로젝트에 추가하면 됩니다. 단, 콘텐츠나 애셋마다 언리얼 엔진 버전별 호환성이 다를 수 있으니 상세 페이지에서 지원 엔진 버전과 지원 플랫폼을 꼭 확인하셔서 사용하시길 바랍니다.

파라곤 – 가지고 놀만한 추천 애셋

에픽게임즈가 파라곤(Paragon) 프로젝트 프로젝트를 드랍한 후, 모든 리소스를 마켓플레이스에 무료로 공개했습니다. 마켓플레이스에서 검색할 때, 한글로 검색 시 일부 누락돼 있으므로 영어로 ‘Paragon’을 입력해 검색하시는 것이 좋습니다.

호환 버전 확인이 절반, 빌드 소요 시간이 절반

각자 개발하는 언리얼 엔진 버전이 다르고, 언리얼 엔진 버전마다 사용할 수 있는 비주얼 스튜디오 버전이 다르고, 애셋마다 지원 버전과 플랫폼이 다릅니다.

언리얼 엔진 개발 환경을 최초 세팅하기까지 언리얼 엔진 공식 문서를 보면서 따라 해도, 언리얼 엔진 마켓플레이스 애셋을 적용한 데모 환경 구축까지 한걸음에 가기가 쉽지 않습니다. 물론 여러 번 반복하다 보면 익숙해질 수 있지만, 개발 환경 세팅이라는 영역 자체가 처음 한 번 완료하고 난 후에는 다시 마주할 일이 자주 생기지 않기 때문입니다.

개발 환경 세팅 중에 막히는 부분이 생겼을 땐, 언리얼 엔진 버전과 호환성이 맞는지 확인해 보시는 것이 빠른 세팅을 위한 팁이 아닐까 합니다.