다음 가이드는 GitHub에서 제공하는 소스 코드에서 언리얼 엔진을 다운로드하여 빌드한 사용자를 대상으로 합니다. 자세한 정보는 언리얼 엔진 소스 코드 다운로드 페이지를 참조하세요.
최신 언리얼 엔진(UE) 코드를 다운로드한 경우 엔진이나 샘플 게임을 컴파일 및 실행하기 위한 Visual Studio(VS) 또는 XCode 프로젝트 파일이 포함되어 있지 않다는 점을 아실 것입니다. 로드할 프로젝트 파일을 생성하는 스크립트를 실행해야 합니다.
UE 루트 디렉터리에 있는
GenerateProjectFiles.bat
파일을 실행하세요.프로젝트 생성기에서 모듈과 타깃 빌드 파일을 분석하고 새로운 프로젝트 파일을 생성합니다. 완료하는 데 다소 시간이 걸릴 수 있습니다.
VS 개발자의 경우 이 작업을 통해 동일한 디렉터리에 UE5.sln
파일이 생성됩니다. 이 솔루션 파일을 사용하여 UE 게임 및 프로그램을 빌드하고 실행하게 됩니다. 처음 컴파일하는 경우 Win64 플랫폼의 개발 환경설정을 사용하여 빌드하는 것이 좋습니다.
기본적으로 SDK를 탐지한 모든 플랫폼에 대해 빌드 가능한 프로젝트를 생성하므로 콘솔 및 모바일 플랫폼도 빌드 및 디버그할 수 있습니다. 실행 중인 현재 플랫폼(예: Windows) 전용 프로젝트를 생성하려는 경우 GenerateProjectFiles.bat
를
-CurrentPlatform` 실행인자와 함께 실행하세요. 프로젝트 파일 용량이 약간 줄어듭니다. 프로젝트 파일이 약간 가벼워집니다.
소스 컨트롤에서 새로운 코드 변경사항을 동기화한 후 GenerateProjectFiles.bat
를 다시 실행해야 합니다. 이 단계를 잊으면 게임을 컴파일하거나 실행할 때 문제가 발생할 가능성이 높습니다.
소스 파일을 추가하거나 제거하는 것과 같이 모듈을 로컬로 변경한 경우 GenerateProjectFiles.bat
를 다시 실행해야 합니다. 프로젝트 파일을 수동으로 변경하지 않는 것이 좋습니다.
명령줄 옵션
프로젝트 생성기에는 생성된 프로젝트 파일을 필요에 더 잘 맞게 커스터마이징하고자 할 때 사용할 수 있는 옵션 명령줄 실행인자가 있습니다. 일반적으로 이러한 옵션은 필수거나 권장 옵션이 아닙니다.
옵션 |
설명 |
---|---|
|
탐지된 모든 사용 가능한 타깃 플랫폼이 아니라 현재 데스크톱 플랫폼(Windows 또는 Mac)만을 위한 빌드 가능한 프로젝트를 생성합니다. |
|
VS 2019 네이티브 포맷으로 프로젝트를 생성합니다. 이 옵션을 설정하면 Visual C++ 2019 컴파일러를 사용하여 컴파일합니다. |
|
VS 2022 네이티브 포맷으로 프로젝트를 생성합니다. 이 옵션을 설정하면 Visual C++ 2022 컴파일러를 사용하여 컴파일합니다. |
|
서드 파티 라이브러리의 헤더 및 기타 파일을 프로젝트에 추가합니다. 예를 들어 Visual Assist for PhysX, Steamworks 또는 Bink의 심볼과 파일을 보고 싶은 경우에 유용할 수 있습니다. 그러나 이렇게 하면 프로젝트 파일을 로드하는 데 더 오래 걸립니다. |
|
프로젝트 생성기가 지정된 프로젝트 이름에 대한 코드 및 콘텐츠만 포함하고 발견된 다른 모든 프로젝트는 제외한 프로젝트를 생성하도록 지시합니다. 프로젝트 이름도 지정해야 합니다. 예를 들어 |
|
|
|
IDE의 자동 완성 및 오류 표시선에 사용되는 IntelliSense 데이터 생성을 건너뜁니다. |
|
모든 언어의 엔진 문서를 포함합니다. 기본적으로 프로젝트에는 영어 파일만 포함됩니다. |
|
지지정하면 엔진 모듈에 대해 생성된 프로젝트에 퍼블릭 헤더 파일만 포함됩니다. 기본적으로 엔진 모듈에 대한 모든 소스 파일이 포함됩니다. 이렇게 하면 프로젝트 로드 시간은 빨라지지만 엔진 코드를 탐색하기는 더 어려워질 수 있습니다. |
|
생성된 프로젝트에서 |
|
가능한 프로젝트를 생성할 플랫폼의 디폴트 세트를 오버라이드하고 대신 지정한 플랫폼에 대해 프로젝트를 생성합니다. '+' 문자로 구분하여 여러 플랫폼을 지정할 수 있습니다. 또한 이렇게 하면 생성된 솔루션 파일의 이름에 플랫폼 이름이 접미사로 포함됩니다. |
추가 정보
GenerateProjectFiles.bat
스크립트는 언리얼 빌드 툴의 간단한 래퍼로, 프로그램 실행파일을 빌드하는 대신 프로젝트 파일을 빌드하는 특수한 모드로 실행됩니다. 스크립트는 -ProjectFiles
명령줄 옵션으로 언리얼 빌드 툴을 호출합니다.
UE 빌드 시스템은 실제로 코드를 컴파일하는 데 프로젝트 파일이 필요하지 않습니다. 언리얼 빌드 툴은 항상 모듈과 타깃 빌드 파일을 사용하여 소스 파일을 찾습니다. 따라서 새 소스 파일을 추가하고 컴파일을 트리거하면 프로젝트 파일을 새로고침하지 않아도 새로운 소스 파일이 빌드에 포함될 수 있습니다. 이 점은 기억해 두면 좋습니다.
VS 프로젝트의 경우 생성된 솔루션 파일은 UE5.sln
이며 루트 UE 디렉터리에 저장되지만, 프로젝트 파일은 언리얼 엔진 루트/Engine/Intermediate/ProjectFiles/
디렉터리에 저장됩니다. 언제든 이 파일을 삭제하고 프로젝트를 다시 생성해도 되지만, 이 파일을 삭제하면 명령줄 실행인자 스트링과 같은 프로젝트별 개인설정이 손실될 수 있습니다.
프로젝트 파일 생성의 장점
확실한 장단점이 있지만 UE의 프로젝트 파일을 생성하기로 한 데는 몇 가지 중요한 이유가 있습니다.
UE는 여러 플랫폼에서 작동하도록 설계되었지만, 팀에 따라서 항상 특정 플랫폼에서만 작업할 가능성이 있습니다. 프로젝트 파일을 생성하면 관련 없는 플랫폼 전용 파일과 빌드 환경설정을 생략할 수 있습니다.
UE 프로그래밍 방법론은 여러 하위 모듈을 통합하며, 프로그래머가 쉽게 새로운 모듈을 포함할 수 있도록 하는 것이 중요한 안건이었습니다.
UE 코드 작업을 하는 동안 프로젝트 생성기는 고도로 정확한 정의를 내보내고 VS IntelliSense에서 사용하는 경로를 포함합니다.
프로젝트 파일을 자동으로 생성할 때 새 프로젝트를 구성하기가 더 쉽습니다.
에픽은 다양한 플랫폼 및 개발 환경을 지원하고자 합니다(예: VS 및 Xcode). 여러 프로젝트 파일 세트를 수동으로 관리하면 오류가 발생하고 지루한 작업이 되기 쉽습니다
그래서 프로그래머가 고도로 커스터마이징된 프로젝트 파일을 생성할 수 있도록 하려고 했습니다.
소스 파일의 디렉터리 구조는 프로젝트 파일 솔루션 계층구조에 자동으로 미러링됩니다. 이러한 기능으로 인해 소스 파일을 탐색하기는 매우 편리하지만 수동으로 작성한 프로젝트를 관리하기는 어려웠습니다.
UE 빌드 환경설정은 매우 복잡하며 수동으로 관리하기 어렵습니다. 프로젝트 생성기는 이러한 환경설정을 개발자가 쉽게 이해하고 관리하게 해 줍니다.
프로젝트 파일 생성과 함께 추가되는 기타 파일
C++ 모듈의 소스 코드 외에도 생성된 프로젝트에 여러 다른 파일을 자동으로 추가합니다. 이렇게 하면 검색할 때 이러한 파일을 쉽게 찾을 수 있습니다. 생성된 프로젝트에 추가되는 일부 다른 파일의 예시는 다음과 같습니다.
셰이더 소스 코드(
*.usf
파일)엔진 문서 파일(
*.udn
파일)프로그램 환경설정 파일(
*.ini
파일)현지화 파일(
*.int
파일)프로그램 리소스 파일 및 매니페스트(
*.rc
, .manifest)특정 외부(생성되지 않은) 프로젝트 파일(예: 언리얼 빌드 툴, Clean)
프로젝트 파일과 소스 컨트롤
프로젝트 파일은 소스 컨트롤에서 체크되지 않습니다. 소스 컨트롤 충돌을 프로젝트 파일에 병합하는 일은 지루하고 오류가 발생하기 쉬운 작업입니다. 새로운 시스템은 프로젝트 파일을 순수한 중간 파일로 취급하여 이러한 문제를 완전히 방지합니다. 또한 솔루션 파일은 서로 다른 게임 프로젝트에서 작업하는 팀마다 다릅니다. 에픽에서 사용하는 프로젝트 파일은 수정을 거치지 않으면 다른 팀에서는 유용하지 않을 수 있습니다.
프로젝트 생성기 코드 디버깅
프로젝트 생성기 코드에 대한 변경사항을 디버깅하는 데 도움이 되는 팁을 소개합니다.
스타트업 프로젝트를 언리얼 빌드 툴로 변경합니다.
디버깅할 명령줄 파라미터를
-ProjectFiles
로 설정합니다.작업 디렉터리를
UNREAL_ENGINE_ROOT/Engine/Source/
에 대한 로컬 경로로 설정합니다.평소와 같이 컴파일하고 디버그합니다.
작업 중 프로젝트 생성기로 인해 VS에서 사용하고 있는 프로젝트 파일이 삭제될 수 있습니다. 이런 이유로 언리얼 빌드 툴 프로젝트는 일반 UE 솔루션 파일을 통해 디버깅하는 대신 직접 VS에 로드하는 것이 유용할 수 있습니다.
여러 환경설정 동시 빌드
VS의 일괄 빌드(Batch Build) 기능을 사용할 수 있습니다. 이 기능은 빌드(Build) 메뉴에서 찾을 수 있습니다 컴파일할 모든 환경설정을 선택하고 빌드(Build) 를 클릭하기만 하면 됩니다.
UnrealVS 익스텐션과의 통합
VS용 UnrealVS 익스텐션에는 클릭하여 현재 로드한 솔루션의 프로젝트 파일을 재생성할 수 있는 툴바 버튼이 있습니다.
이 기능에 단축키를 바인딩할 수도 있습니다. VS에서 Tools > Options > Environment > Keyboard 를 연 다음 UnrealVS.RefreshProjects를 검색합니다.
이 기능은 툴이 어떤 프로젝트의 코드 분기를 생성해야 하는지 알아야 하기 때문에 솔루션을 로드한 후에만 사용할 수 있습니다. 아직 UE5.sln
파일을 생성하지 않은 경우 먼저 GenerateProjectFiles.bat
스크립트를 직접 실행해야 합니다.