- 순서
- 빌드 툴(UBT)이란?
- 헤더 툴(UHT)이란?
- 빌드 파이프라인
- 빌드 툴(UBT)이란?
- 빌드 툴은 프로젝트 전체 빌드 관리를 담당함
- 무엇을 하는가?
- C++ 소스 코드 컴파일 및 링크 과정을 제어하는 빌드 시스템.
- 프로젝트의 .Build.cs 파일을 읽어서 모듈, 종속성, 빌드 설정 등을 해석
- Makefile 같은 역할을 한다고 생각하면 됨
- 주요 기능
- 소스 코드 컴파일 및 링크 관리(각 모듈 단위로 처리)
- 필요한 경우 UHT 실행 > 리플렉션 메타데이터 생성
- 플랫폼별/빌드 타입별 세팅 적용
- 병렬 빌드, 캐시 활용으로 빌드 속도 최적화
- 헤더 툴(UHT)이란?
- 헤더 툴은 리플렉션 메타데이터 생성을 담당함
- 무엇을 하는가?
- C++ 코드에서 UCLASS, USTRUCT, UENUM, UPROPERTY, UFUNCTION 등의 매크로를 파싱함.
- 언리얼 리플렉션 시스템에서 사용할 메타데이터 파일을 자동 생성.
- 이 과정이 없으면 언리얼 에디터에서 블루프린트, 리플렉션, 직렬화, GC 같은 기능을 쓸 수 없음.
- 빌드 툴과 헤더 툴의 차이 & 관계
| 구분 | 빌드 툴 (UBT) | 헤더 툴 (UHT) |
| 역할 | 전체 프로젝트 빌드 관리 | 리플렉션 메타데이터 생성 |
| 동작 시점 | 컴파일 및 링크 전반 과정 | 컴파일 전, 리플렉션 매크로 파싱 단계 |
| 주요 입력 | .cpp, .h, .Build.cs 파일 | UCLASS, USTRUCT, UFUNCTION, UPROPERTY같은 매크로가 포함된 .h |
| 출력 | 최종 실행 파일 또는 라이브러리 | .generated.h파일 (자동 생성 코드) |
| 핵심 기능 | 모듈/종속성 관리 플랫폼별 빌드 설정 병렬 빌드 최적화 전체 컴파일 & 링크 |
리플렉션 시스템 등록 코드 생성 직렬화, GC 지원 코드 추가 블루프린트/에디터 연동 코드 생성 |
| 위치 | 빌드 파이프라인의 최상위 관리자 | 빌드 파이프라인의 하위 툴 |
- 빌드 파이프라인
- 빌드 명령 실행
- UBT
- 프로젝트의 .uproject 파일과 .build.cs 스크립트 분석
- 모듈 간 의존성, 서브시스템, 플랫폼별 세팅을 파악
- UHT 실행 여부도 여기서 결정됨
- UHT
- UCLASS, USTRUCT, UFUNCTION, UPROPERTY 같은 언리얼 매크로를 포함한 헤더 파일들을 파싱
- 리플렉션 메타데이터를 생성하고, 필요한 코드를 자동으로 만든 .generated.h파일을 출력
- 이 파일들이 엔진의 리플렉션 시스템, GC, 블루프린트 통합에 사용됨.
- C++ 컴파일
- 링크
- 최종 실행파일 생성
'Unreal Engine' 카테고리의 다른 글
| [UE]TSubclassOf (1) | 2025.08.29 |
|---|---|
| [UE]StaticClass와 GetClass (0) | 2025.08.29 |
| [UE]스마트 포인터 (0) | 2025.08.29 |
| [UE] 언리얼 엔진의 GC (1) | 2025.08.28 |
| [UE] 언리얼의 클래스들 (0) | 2025.08.28 |