Files
ZMMO/Plugins/VisualStudioTools/azure-pipelines/Support-extra-UBT-args-in-UAT.BuildPlugin.patch
Mateus Rodrigues 3d4d0de40b feat: ZMMO client base (Game/Entity|Controller|Modes|Network)
Estrutura inicial do cliente Unreal Zeus MMO alinhada ao padrao
"cliente solto + servidor valida input/velocidade" (ADR 0038):

- Source/ZMMO/Game/Entity/ — IZMMOEntityInterface, AZMMOEntity (base
  AActor para Mob/NPC/Object), AZMMOPlayerCharacter (player local com
  CMC livre, Enhanced Input, envio de C_INPUT_AXIS), AZMMOPlayerProxy
  (snapshot-only para players remotos).
- Source/ZMMO/Game/Controller/ — AZMMOPlayerController com IMC defaults
  (IMC_Default + IMC_MouseLook) e suporte opcional a virtual joystick.
- Source/ZMMO/Game/Modes/ — AZMMOGameMode (defaults para PlayerCharacter
  / PlayerController), UZMMOGameInstance (auto-connect ao servidor Zeus
  em Init e logging dos eventos OnConnected/OnDisconnected/...).
- Source/ZMMO/Game/Network/ — UZMMOWorldSubsystem (registry
  EntityId -> AActor*, dispatch dos delegates OnPlayerSpawned/Despawned/
  StateUpdate; ignora snapshots locais do cliente solto).
- Config/DefaultEngine.ini — GlobalDefaultGameMode aponta para
  /Script/ZMMO.ZMMOGameMode; GameInstanceClass para
  /Script/ZMMO.ZMMOGameInstance; redirects para a nova hierarquia.
- ZMMO.Build.cs — depende de ZeusNetwork; PublicIncludePaths para a
  nova arvore Game/Entity|Controller|Modes|Network.
- Content — assets do template ThirdPerson (Mannequins, IAs/IMCs,
  Lvl_ThirdPerson + TestWorld). Os Variant_* levels ficam no commit
  inicial mas serao limpos numa proxima sessao com aprovacao explicita
  (Master Rule para .umap/.uasset).

Notas:
- BP_ThirdPersonCharacter/GameMode/PlayerController ainda apontam para
  a hierarquia antiga e estao a aguardar aprovacao para remocao
  (Master Rule).
- README.md descreve a arquitectura e o smoke test de conexao.
2026-05-07 20:21:21 -03:00

47 lines
1.9 KiB
Diff

From f7238064c8680f6392793eb664ee2c773daff594 Mon Sep 17 00:00:00 2001
From: Oleksandr Kozlov <okozlov@microsoft.com>
Date: Tue, 1 Apr 2025 15:22:14 +0200
Subject: [PATCH] Support extra UBT args in UAT.BuildPlugin
Forwarding extra parameters to UBT to allow customizing the build of a plugin.
Example: runuat.bat buildpluing -plugin=... -ubtargs="-LinkerArguments=\"/profile\""
---
.../Scripts/BuildPluginCommand.Automation.cs | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/Engine/Source/Programs/AutomationTool/Scripts/BuildPluginCommand.Automation.cs b/Engine/Source/Programs/AutomationTool/Scripts/BuildPluginCommand.Automation.cs
index 5a43dc0c4..aaf3f192f 100644
--- a/Engine/Source/Programs/AutomationTool/Scripts/BuildPluginCommand.Automation.cs
+++ b/Engine/Source/Programs/AutomationTool/Scripts/BuildPluginCommand.Automation.cs
@@ -64,6 +64,9 @@ public sealed class BuildPlugin : BuildCommand
// Option for verifying that all include directive s
bool bStrictIncludes = ParseParam("StrictIncludes");
+ // Extra arguments forwarded to UBT
+ string UBTArgs = ParseParamValue("ubtargs");
+
// Make sure the packaging directory is valid
DirectoryReference PackageDir = new DirectoryReference(PackageParam);
@@ -126,6 +129,16 @@ public sealed class BuildPlugin : BuildCommand
AdditionalArgs.Append(" -NoPCH -NoSharedPCH -DisableUnity");
}
+ // Pass extra parameters to UBT
+ if (string.IsNullOrEmpty(UBTArgs) == false)
+ {
+ Logger.LogInformation("Building with extra UBT parameters: {UBTArgs}", UBTArgs);
+ string Arg = UBTArgs;
+ Arg = Arg.TrimStart(new char[] { '\"' });
+ Arg = Arg.TrimEnd(new char[] { '\"' });
+ AdditionalArgs.Append(' ').Append(Arg);
+ }
+
// check if any architectures were specified
foreach (UnrealTargetPlatform Platform in UnrealTargetPlatform.GetValidPlatforms())
{
--
2.49.0.windows.1