Unreal Engine

Unreal Build Tool (UBT) & Unreal Header Tool (UHT)

Keisa 2023. 10. 5. 14:22

1. Unreal Build Tool (UBT):

   - UBT는 Unreal Engine 프로젝트를 빌드하고 컴파일하는 데 사용되는 주요 빌드 도구입니다. Unreal Engine은 큰 규모의 게임 및 시뮬레이션 프로젝트를 다루기 위한 복잡한 코드 기반을 가지고 있으며, UBT는 이러한 프로젝트를 빌드하는 데 필요한 도구입니다.
   - UBT는 Visual Studio, Xcode, 또는 다른 C++ 컴파일러와 통합하여 C++ 코드를 컴파일하고, 게임 모듈 및 플러그인을 빌드합니다.
   - Unreal Engine의 C++ 코드는 일반적으로 `.cpp` 파일과 `.h` 파일로 구성되며, UBT는 이러한 파일을 컴파일하여 실행 가능한 게임 또는 애플리케이션으로 생성합니다.

 

Unreal Build Tool (UBT)를 통해 빌드하는 것과 기존 빌드 방식과의 주요 차이점은 다음과 같습니다:

1. Cross-Platform 지원:

   - UBT는 Unreal Engine의 크로스 플랫폼 개발을 지원합니다. Unreal Engine은 여러 플랫폼에서 실행되어야 하는 게임 및 애플리케이션을 개발하는 데 사용되는데, UBT를 통해 이러한 다양한 플랫폼을 대상으로 하는 빌드를 쉽게 수행할 수 있습니다.

2. 프로젝트 설정 및 의존성 관리:

   - UBT는 Unreal Engine 프로젝트의 설정 및 의존성 관리를 자동화합니다. 프로젝트 설정 및 필요한 라이브러리, 플러그인, 서드파티 라이브러리를 자동으로 처리하여 개발자가 복잡한 설정을 수동으로 관리하지 않도록 도와줍니다.

3. 병렬 빌드 지원:

   - UBT는 병렬 빌드를 지원하여 멀티코어 프로세서를 활용하여 빌드 속도를 높일 수 있습니다. 이는 대규모 프로젝트의 컴파일 시간을 크게 단축시켜줍니다.

4. C++ 코드 생성 및 리플렉션:

   - UBT는 Unreal Engine의 Unreal Header Tool (UHT)와 통합되어 C++ 클래스와 그 멤버 변수에 대한 리플렉션 정보를 생성합니다. 이는 Unreal Engine의 블루프린트 시스템과 같은 기능을 지원하고, 게임 오브젝트 및 블루프린트 간의 상호 작용을 가능하게 합니다.

5. 플러그인 관리:

   - UBT는 Unreal Engine의 플러그인 시스템을 관리하며, 플러그인을 프로젝트에 추가하거나 관리하는 데 도움을 줍니다. 이로써 다양한 기능을 확장하고 추가할 수 있습니다.

6. 빌드 오류 및 디버깅 지원:

   - UBT는 빌드 과정에서 발생하는 오류 및 경고를 식별하고 보고합니다. 이를 통해 개발자는 빌드 오류를 빠르게 해결하고 안정적인 빌드를 유지할 수 있습니다.

요약하면, Unreal Build Tool (UBT)는 Unreal Engine의 복잡한 개발 환경을 관리하고 최적화하는 데 사용되는 강력한 빌드 도구입니다. UBT를 사용하면 크로스 플랫폼 빌드, 의존성 관리, 병렬 빌드, 리플렉션 및 플러그인 관리와 같은 다양한 작업을 자동화할 수 있으므로 개발자가 게임 개발에 집중할 수 있습니다.


2. Unreal Header Tool (UHT):

   - UHT는 Unreal Engine에서 사용되는 코드 생성 도구로, C++ 클래스의 프로퍼티와 함수에 대한 리플렉션 정보를 생성하고, 블루프린트 및 Unreal Engine의 다른 시스템과 상호 작용할 수 있도록 합니다.
   - UHT는 주로 Unreal Engine의 UObject 클래스와 그 파생 클래스의 코드 생성에 사용됩니다. 이러한 클래스는 게임 오브젝트, 액터, 캐릭터 및 다른 게임 요소를 나타내는 데 사용됩니다.
   - UHT는 클래스 및 멤버 변수에 대한 헤더 파일 주석을 읽고, 이 정보를 바탕으로 코드를 생성합니다. 이는 Unreal Engine의 리플렉션 시스템과 블루프린트 시스템과 같은 기능을 지원하는 데 사용됩니다.

Unreal Engine은 큰 규모의 게임 및 시뮬레이션 프로젝트를 지원하기 위한 복잡한 코드 기반을 가지고 있으며, UBT와 UHT와 같은 도구는 프로젝트를 개발 및 관리하는 데 필수적입니다. 이러한 도구들은 개발자가 게임 로직, 그래픽스, 오디오, 물리 엔진 등에 집중하고 복잡한 빌드 및 코드 생성 작업을 자동화하는 데 도움을 줍니다.

'Unreal Engine' 카테고리의 다른 글

Delegate(언리얼 엔진)  (1) 2023.10.04
Unreal Reflection(언리얼 프로퍼티 시스템)  (1) 2023.10.01
Foot Ik(Control Rig)  (0) 2023.09.30
Material Function(Outline Shader에 사용)  (0) 2023.09.30
Outline Shader - 2  (0) 2023.09.29