본문 바로가기

언리얼엔진/c++클래스 만들어보기

UE5 빌드 환경 설정 및 컴파일 방법

 

참고

https://docs.unrealengine.com/5.0/ko/build-configuration-for-unreal-engine/언리얼 5, BuildConfiguration.xml 설정

 

Build Configuration

Configure how the engine is built.

docs.unrealengine.com

 

라이브 코딩 컴파일 - Ctrl + Alt + F11 or Cmd : LiveCoding.Compile 입력

라이브 코딩 해제 후 빌드 - Visual Studio, Ctrl + F5


빌드 환경 설정

 

언리얼 5에서 c++ 코드를 한 줄만 수정해도 빌드 시간이 매우 오래 걸린다.

아래는 아무 설정도 안하고 액터(MyActor.cpp/h)를 수정하였을 때 걸린 시간과 로그이다.

고작 한 줄 수정했는데 6분이상 걸렸다.

 

컴파일이 빠르게 되도록 빌드 환경 설정을 바꿔보자.

 

C:\Users\{user name}\AppData\Roaming\Unreal Engine\UnrealBuildTool로 이동하면 xml 파일이 있다.

 

위 파일에 bAdaptiveUnityDisablesPCH = false ProcessorCountMultiplier를 최대한 크게 설정한다.

<?xml version="1.0" encoding="utf-8" ?>
<Configuration xmlns="https://www.unrealengine.com/BuildConfiguration">
  <BuildConfiguration>
    <bAdaptiveUnityDisablesPCH>false</bAdaptiveUnityDisablesPCH>
  </BuildConfiguration>
  <ParallelExecutor>
    <ProcessorCountMultiplier>4</ProcessorCountMultiplier>
  </ParallelExecutor>
</Configuration>

xml에 추가할 수 있는 옵션과 각 옵션별 상세 설명은 링크를 참고하자.

 

PCH PreCompiled Header를 의미한다.

언리얼을 빌드할 때 모든 모듈을 빌드하려고 하는데, 

false로 설정하면 사전에 컴파일한 결과물이 존재해서 컴파일 시간이 줄어들게 된다.

 

ProcessorCountMultiplier는 사용할 CPU 코어의 개수이다.

코어의 개수를 최대로 하고 싶다면 Ctrl + Shift + Esc 키 → 작업 관리자 → 성능 탭에서 확인하자.

 

위와 같이 수정한 뒤 빌드를 하면 아래와 같이 컴파일 시간이 매우 빨라진다. (최초 한 번은 마찬가지로 오래 걸린다.)

 

bAdaptiveUnityDisablesPCH 설정 전에는 모든 cpp 파일을 컴파일하고 있었다.

  [1/4] Compile UnrealGamesGameMode.cpp
  [2/4] Compile UnrealGamesCharacter.cpp
  [3/4] Compile UnrealGames.cpp
  [4/4] Compile MyActor.cpp

 

bAdaptiveUnityDisablesPCH = false 이후에는 변경된 파일(MyActor)만 컴파일하고 있다.

[1/1] Compile MyActor.cpp

 

그리고 ProcessorCountMultiplier를 4개로 설정한 것도 로그에서 확인할 수 있다.

Requested 4 process count multiplier: limiting max parallel actions to 16

라이브 코딩 컴파일

 

에디터 오른쪽 아래에서 라이브 코딩 활성화 여부를 알 수 있다.

Ctrl + Alt + F11 로 빌드하면 된다.

 

또는 커맨드 창에 LiveCoding.Compile을 입력하자.


라이브 코딩 해제 후 빌드 - 핫 리로드

 

라이브 코딩 기능을 끄고 빌드할 수 있다.

라이브 코딩을 하면 직접 만든 액터가 사라져서 불편하다.

 

이때는 라이브 코딩이 완료된 후,

비주얼 스튜디오에서 직접 빌드하면 언리얼 종료 후에도 빌드된 액터가 남아있게 된다.

 

먼저 라이브 코딩 활성화를 해제한다.

 

그리고 솔루션 탐색기에서 아래와 같이 빌드를 하면 된다.

 

빌드가 너무 오래 걸려서 취소하고 싶다면 빌드 탭에서 취소를 하면 된다.


라이브 코딩 재설정

 

이후에 다시 라이브 코딩을 하려고 라이브 코딩 활성화를 해도 빌드가 되지 않고, 아래의 팝업창이 나오게 된다.

핫 리로드를 사용한 후에는 라이브 코딩을 시작할 수 없습니다. 
다시 시작하기 전에 에디터를 닫고 IDE에서 빌드해 주세요.
Live Coding cannot be enabled while hot-reloaded modules are active. 
Please close the editor and build from your IDE before restarting.

 

 

이때는 언리얼 종료 후, {Project Name}\Binaries\Win64 에서 모든 파일 삭제하고 다시 빌드해야 된다.

 

참조

https://bloodstrawberry.tistory.com/1157