Unreal Engine

[UE] 언리얼 빌드 툴/헤더 툴

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

'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