Metaverse/UE5

Build Tool

onenewkong 2024. 2. 1. 21:01

다양한 빌드 구성에 걸쳐 소스 코드를 빌드하는 프로세스를 관리하는 커스텀 도구

 

동작 방식

언리얼 기본 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" });
    }
}

 

'Metaverse > UE5' 카테고리의 다른 글

MyVox - PlayerMove(2)  (0) 2024.03.30
Automation Tool  (0) 2024.02.01
RPC  (0) 2024.01.29
Network  (0) 2024.01.29
Animation  (1) 2024.01.25