GameDevelop/UnrealEngine

UBT (Unreal Build Tool)

Une_ 2026. 1. 15. 15:11

UBT (Unreal Build Tool)

1. 한 줄 정의

UBT는 Unreal Engine 프로젝트의 빌드 과정을 총괄하는
빌드 시스템이자 자동화 도구다.

2. UBT는 왜 필요한가?

Unreal은 다음과 같은 특성이 있다.

  • 멀티 플랫폼 (Windows, Console, Mobile)
  • 수많은 모듈 구조
  • 엔진 + 게임 코드 혼합 빌드
  • 에디터 / 클라이언트 / 서버 분리 빌드

👉 일반 C++ 빌드 시스템으로는 관리가 어렵다.

3. UBT의 핵심 역할

UBT는 다음을 담당한다.

  • 전체 빌드 파이프라인 관리
  • UHT 실행 제어
  • C++ 컴파일러 호출
  • 링크 단계 관리
  • 플랫폼별 설정 적용

4. UBT와 UHT의 관계

[ UBT ]
   ├─ UHT 실행
   ├─ C++ 컴파일
   ├─ 링크
   └─ 패키징 연계

👉 UHT는 UBT가 호출한다
👉 UHT는 단독 실행 도구가 아님

 

5. 빌드 전체 흐름

 
Build 실행
   ↓
UBT 시작
   ↓
UHT 실행 (헤더 분석, generated.h 생성)
   ↓
C++ 컴파일 (MSVC / Clang)
   ↓
링크
   ↓
실행 파일 생성

6. Build.cs란?

Build.cs는 모듈 단위의 빌드 설정 파일이다.

역할

  • 모듈 의존성 정의
  • include 경로 설정
  • 컴파일 옵션 설정
  • 플랫폼별 분기 처리

예시

PublicDependencyModuleNames.AddRange(
    new string[] { "Core", "CoreUObject", "Engine" }
);

7. UBT의 특징

모듈 기반 엔진 구조와 일치
자동화 설정 최소화
크로스 플랫폼 동일 설정으로 빌드
병렬 컴파일 빌드 속도 개선

8. 요약

UBT는 Unreal 프로젝트의 전체 빌드 과정을 관리하는 도구로,
UHT 실행부터 컴파일과 링크까지를 자동으로 처리합니다.