Targets

При создании проекта по умолчанию создаются два таргета: Game и Editor

Editor Target

// Copyright Epic Games, Inc. All Rights Reserved.

using UnrealBuildTool;
using System.Collections.Generic;

public class TPSEditorTarget : TargetRules
{
    public TPSEditorTarget(TargetInfo Target) : base(Target)
    {
        Type = TargetType.Editor;
        DefaultBuildSettings = BuildSettingsVersion.V2;
        ExtraModuleNames.Add("TPS");
    }
}

Game Target

// Copyright Epic Games, Inc. All Rights Reserved.

using UnrealBuildTool;
using System.Collections.Generic;

public class TPSTarget : TargetRules
{
    public TPSTarget(TargetInfo Target) : base(Target)
    {
        Type = TargetType.Game;
        DefaultBuildSettings = BuildSettingsVersion.V2;
        ExtraModuleNames.Add("TPS");
    }
}

Шаблон таргета имеет вид:

%COPYRIGHT_LINE%

using UnrealBuildTool;
using System.Collections.Generic;

public class %MODULE_NAME%%TARGET_TYPE%Target : TargetRules
{
	public %MODULE_NAME%%TARGET_TYPE%Target(TargetInfo Target) : base(Target)
	{
		Type = TargetType.%TARGET_TYPE%;
		DefaultBuildSettings = BuildSettingsVersion.V2;
		ExtraModuleNames.AddRange( new string[] { %EXTRA_MODULE_NAMES% } );
	}
}

Параметр

Описание

COPYRIGHT_LINE

комментарий копирайта

MODULE_NAME

имя модуля, по сути имя вашего проекта

TARGET_TYPE

тип таргета (Editor, Game, Client, Server)

EXTRA_MODULE_NAMES

дополнительные имена модулей, в простейшем случае модуль всего один — ваш проект

Для сборки сервера и клиента необходимо добавить дополнительные C# файлы в корень проекта в директорию Source.

Client Target

// Copyright Epic Games, Inc. All Rights Reserved.

using UnrealBuildTool;
using System.Collections.Generic;

public class TPSClientTarget : TargetRules
{
    public TPSClientTarget(TargetInfo Target) : base(Target)
    {
        Type = TargetType.Client;
        DefaultBuildSettings = BuildSettingsVersion.V2;
        ExtraModuleNames.AddRange(new string[] { "TPS" });
    }
}

Server Target

// Copyright Epic Games, Inc. All Rights Reserved.

using UnrealBuildTool;
using System.Collections.Generic;

public class TPSServerTarget : TargetRules
{
    public TPSServerTarget(TargetInfo Target) : base(Target)
    {
        Type = TargetType.Server;
        DefaultBuildSettings = BuildSettingsVersion.V2;
        ExtraModuleNames.AddRange(new string[] { "TPS" });
    }
}

Last updated