참고
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분이상 걸렸다.
![](https://blog.kakaocdn.net/dn/b0gX91/btsyt9CFeIh/u7DRl5XODymUDoaIRPlvf1/img.png)
컴파일이 빠르게 되도록 빌드 환경 설정을 바꿔보자.
C:\Users\{user name}\AppData\Roaming\Unreal Engine\UnrealBuildTool로 이동하면 xml 파일이 있다.
![](https://blog.kakaocdn.net/dn/5gpXo/btsys1MrWoC/k9IfpTCczRh8qNYTmIzKu0/img.png)
위 파일에 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 키 → 작업 관리자 → 성능 탭에서 확인하자.
![](https://blog.kakaocdn.net/dn/bayckb/btsytvGenCB/ehuc9hEzGBq8bof6fOZJF1/img.png)
위와 같이 수정한 뒤 빌드를 하면 아래와 같이 컴파일 시간이 매우 빨라진다. (최초 한 번은 마찬가지로 오래 걸린다.)
![](https://blog.kakaocdn.net/dn/bxGCHA/btsys9pTiVo/8XxAqKcobQi0MMFl9QWOw0/img.png)
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 로 빌드하면 된다.
![](https://blog.kakaocdn.net/dn/s4FVt/btsytKiOvCr/vjfZYC1Nd18kicSWSSkkl1/img.png)
또는 커맨드 창에 LiveCoding.Compile을 입력하자.
![](https://blog.kakaocdn.net/dn/bJLtqP/btsysG2PEDj/KRd0aMyap8Uadg1zbzM6iK/img.png)
라이브 코딩 해제 후 빌드 - 핫 리로드
라이브 코딩 기능을 끄고 빌드할 수 있다.
라이브 코딩을 하면 직접 만든 액터가 사라져서 불편하다.
이때는 라이브 코딩이 완료된 후,
비주얼 스튜디오에서 직접 빌드하면 언리얼 종료 후에도 빌드된 액터가 남아있게 된다.
먼저 라이브 코딩 활성화를 해제한다.
![](https://blog.kakaocdn.net/dn/upRV2/btsytdsicYg/wMTNg9jcqXaJMn4mqauKK0/img.png)
그리고 솔루션 탐색기에서 아래와 같이 빌드를 하면 된다.
![](https://blog.kakaocdn.net/dn/dH6JSy/btsyuMArd8a/jonwhZlsrkWZwmKBFm9yx1/img.png)
![](https://blog.kakaocdn.net/dn/kHvfL/btsynXX1Eeo/v98En4YHy6xYKuQ8rGGlI0/img.png)
빌드가 너무 오래 걸려서 취소하고 싶다면 빌드 탭에서 취소를 하면 된다.
![](https://blog.kakaocdn.net/dn/bUerRh/btsyufbPLag/EBXDerYy2QngV8gjYq3zO0/img.png)
라이브 코딩 재설정
이후에 다시 라이브 코딩을 하려고 라이브 코딩 활성화를 해도 빌드가 되지 않고, 아래의 팝업창이 나오게 된다.
![](https://blog.kakaocdn.net/dn/d7m1wW/btsywkRflS5/6dWzuk8Ku3W9ldjK8uNbd1/img.png)
핫 리로드를 사용한 후에는 라이브 코딩을 시작할 수 없습니다.
다시 시작하기 전에 에디터를 닫고 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://blog.kakaocdn.net/dn/mdFd5/btsyueRyhwn/UiNMy60ZM6kzaBCPE1OpMk/img.png)
참조
'언리얼엔진 > c++클래스 만들어보기' 카테고리의 다른 글
MyPawn에서 키입력 받기 (0) | 2023.10.16 |
---|---|
UE5 GameModeBase (0) | 2023.10.15 |
언리얼 C++ StaticMesh 추가하기 (0) | 2023.10.14 |
언리얼 C++ StaticMesh컴포넌트 추가하기 (0) | 2023.10.14 |
C++ 퀵스타트 - 액터움직이기 SetActorLocation() (1) | 2023.10.14 |