다양한 빌드 구성에 걸쳐 소스 코드를 빌드하는 프로세스를 관리하는 커스텀 도구
동작 방식
언리얼 기본 C++ 프로젝트 생성 시, 3개의 C# 파일이 프로젝트에 같이 생성된다.
- (프로젝트명).build.cs
- (프로젝트명).target.cs
- (프로젝트명Editor).target.cs
build.cs는 빌드 옵션을 관리하고, target.cs는 빌드 타입을 정의한다.
.uproject를 실행하거나, .sln 프로젝트에서 build 명령을 내리면 UBT 프로그램이 실행되면서 언리얼 프로젝트의 build.cs, target.cs 파일들이 C# 컴파일러에 의해 컴파일된다. 이후에 .cs 파일에 작성한 사양대로 빌드 과정이 진행된다.
왜 필요한가?
언리얼은 멀티 플랫폼에서 개발이 가능하고 멀티 플랫폼 빌드를 목표로하는 게임엔진이므로 이를 위해 빌드 과정을 유연하게 프로그래밍할 수 있는 툴이 필요해진 것이다.
왜 C#인가?
UBT같이 런타임에 실행되지 않고 컴파일 타임에 실행되는 프로그램인 경우 성능상 느린건 크게 문제가 되지 않고, 복잡한 C++ 대신 개발 편의성이 보장된 C# .NET Framework로 개발된 것이다.
Dedicated Server를 구현하는 과정에서 Build 오류가 계속 뜬다. 파일의 경로명이 너무 길어서 오류가 난 것 같은데, 오류를 해결하는 과정에서 Build Tool이 어떻게 동작하는지에 대해서도 같이 공부해봤다.
Server.Taget.cs를 생성하여 빌드를 시도하고 있지만, 계속 오류가 뜬다.. 이것도 해결한다면 다시 글을 올리는 걸로^^..
using UnrealBuildTool;
using System.Collections.Generic;
public class MyVoxServerTarget : TargetRules
{
public MyVoxServerTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Server;
DefaultBuildSettings = BuildSettingsVersion.V4;
ExtraModuleNames.AddRange(new string[] { "MyVox" });
}
}
'Old > UE5' 카테고리의 다른 글
MyVox - PlayerMove(2) (0) | 2024.03.30 |
---|---|
Automation Tool (0) | 2024.02.01 |
RPC (0) | 2024.01.29 |
Network (1) | 2024.01.29 |
Animation (1) | 2024.01.25 |