Article written by Brantley C.
Note: This feature will be provided in Project Settings for UE 4.27 and future versions. This guide is for bringing the feature to older versions of the engine.
The easiest way to get the entire feature is to integrate CL 15375484 to have the project setting, though if you run into issues doing so, the change can be made manually as follows:
In Engine\Source\Programs\UnrealBuildTool\ToolChain\RemoteMac.cs
around line 272 where the code was changed to be:
// Get the remote base directory
string RemoteServerOverrideBuildPath;
if (Ini.GetString("/Script/IOSRuntimeSettings.IOSRuntimeSettings", "RemoteServerOverrideBuildPath", out RemoteServerOverrideBuildPath) && !String.IsNullOrEmpty(RemoteServerOverrideBuildPath))
{
RemoteBaseDir = String.Format("{0}/{1}", RemoteServerOverrideBuildPath.Trim().TrimEnd('/'), Environment.MachineName);
}
else
{
StringBuilder Output;
if (ExecuteAndCaptureOutput("'echo ~'", out Output) != 0)
{
throw new BuildException("Unable to determine home directory for remote user. SSH output:\n{0}", StringUtils.Indent(Output.ToString(), " "));
}
RemoteBaseDir = String.Format("{0}/UE4/Builds/{1}", Output.ToString().Trim().TrimEnd('/'), Environment.MachineName);
}
Log.TraceInformation("[Remote] Using base directory '{0}'", RemoteBaseDir);
With this you can add an entry in your DefaultEngine.ini:
[/Script/IOSRuntimeSettings.IOSRuntimeSettings] RemoteServerOverrideBuildPath=/some/path/on/the/mac