1. 빌드 환경설정 설명
언리얼 엔진 4는 UnrealBuildTool(언리얼 빌드 툴, UBT)를 통한 커스텀 빌드 메서드를 사용합니다. 이 툴은 엔진의 리플렉션 시스템을 빌드하는데 필요한 정보를 처리해주어, C++ 코드를 블루프린트, 리플리케이션, 시리얼라이제이션, 가비지 컬렉션과 통합시켜 줍니다.
모든 빌드 환경설정에는 두개의 키워드가 들어있습니다.
그 중 첫번째는 엔진과 게임 프로젝트의 상태를 나타냅니다. 예를 들어 Debug 환경설정을 사용해서 컴파일을 하는 경우, 게임 코드 디버깅이 가능합니다.
두번째 키워드는 빌드 대상이 되는 타깃입니다. 예를 들어 프로젝트를 언리얼에서 열고자 하는 경우, 타깃 키워드를 Editor로 붙여 빌드해주면 됩니다.
빌드 환경설정 상태 | 설명 |
Debug | 디버깅용 심볼이 들어있는 환경설정입니다. Debug 환경설정을 사용해서 프로젝트를 컴파일하고, 언리얼 에디터로 프로젝트를 열고자 하는 경우, "-debug" 플래그를 붙여줘야 프로젝트에 코드 변경 내용이 반영되는 것을 볼 수 있습니다. |
DebugGame | 이 환경설정은 엔진을 최적화시켜 빌드하지만, 게임 코드는 디버깅 가능한 상태로 놔둡니다. 이 환경설정은 디버깅 전용 게임 모듈에 이상적입니다. |
Development | 시간 소모가 가장 심한 엔진 및 게임 코드 최적화를 제외한 모든 것을 활성화하는 환경설정으로, 개발이나 퍼포먼스가 중요한 경우 좋습니다. 언리얼 에디터는 기본적으로 Development 환경설정을 사용합니다. 프로젝트를 Development 환경설정으로 컴파일하면 프로젝트에 가한 코드 변경 사항을 에디터에 반영시켜 확인할 수 있습니다. |
Shipping | 최상의 퍼포먼스와 게임 발매용 환경설정입니다. 콘솔 명령, 통계, 프로파일링 툴을 제거시키는 환경설정입니다. |
Test | 이 환경설정은 Shipping에 몇 가지 콘솔 명령, 통계, 프로파일링 기능이 추가된 것입니다. |
빌드 환경설정 타깃 | 설명 |
없음 | 프로젝트의 독립형 실행파일 버전을 빌드하는 환경설정으로, 해당 플랫폼용 콘텐츠의 쿠킹이 필요합니다. |
Editor | 언리얼 에디터에서 프로젝트를 열어 코드 변경 내용이 반영된 모습을 확인할 수 있으려면, 프로젝트를 Editor 환경설정으로 빌드해야 합니다. |
Client | UE4 네트워킹 기능을 사용하는 멀티플레이어 프로젝트 작업을 하는 경우, 이 타깃은 지정된 프로젝트를 멀티플레이어 게임의 UE4 클라이언트-서버 모델에서 클라이언트로 지정합니다. <Game>Client.Target.cs 파일이 있다면, Client 빌드 환경설정이 사용됩니다. |
Server | UE4 네트워킹 기능을 사용하는 멀티플레이어 프로젝트 작업을 하는 경우, 이 타깃은 지정된 프로젝트를 멀티플레이어 게임의 UE4 클라이언트-서버 모델에서 서버로 지정합니다. <Game>Server.Target.cs 파일이 있다면, Server 빌드 환경설정이 사용됩니다. |
- UE4 솔루션용 빌드 환경설정
UE4 솔루션을 컴파일할때, 프로젝트의 소스 코드와 함께 엔진의 소스 코드를 함께 컴파일하게 됩니다. 이런 식으로 프로젝트를 빌드할때 사용할 수 있는 빌드 환경설정은 아래와 같습니다.
Debug DebugGame Development Shipping Test 없음 O O O O O Editor O O O Client O O O O O Server O O O O O - UE4 프로젝트용 빌드 환경설정
UE4 프로젝트를 컴파일할때, 프로젝트의 소스 코드만 컴파일합니다. 이런 식으로 프로젝트를 빌드할때 사용할 수 있는 빌드 환경설정은 아래와 같습니다.
Debug DebugGame Development Shipping Test 없음 O O O Editor O O Client Server
'언리얼 C++ 프로그래밍' 카테고리의 다른 글
[언리얼 C++] 리디렉터 (Redirector) (0) | 2021.08.25 |
---|---|
[언리얼 C++] 소스에서 언리얼 엔진 빌드하기 (0) | 2021.08.24 |
[언리얼 C++] 환경설정 파일 (0) | 2021.08.22 |
[언리얼 C++] 명령줄 인수 (0) | 2021.08.21 |
[언리얼 C++] 게임 모드 (0) | 2021.08.20 |