Building UE 4.1 for IOS with UnrealRemoteTool

My Mac cannot run UE4 Editor due to an unsupported GPU, so we are trying to set it up for remote compilation from a Windows 8.1 PC.

We followed the steps described in Steps for IOS build with UnrealRemoteTool - Programming & Scripting - Epic Developer Community Forums and A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums as closely as possible, but we cannot get the build to complete succesfully.

These are the steps we followed:

On the PC:

  • Downloaded 4.1 and the dependencies from GitHub
  • Generated the project files and compiled using Development Editor Win64

On the Mac:

  • Updated OSX to 10.9.2 and Installed the latest XCode
  • Imported our app private key and certificate into Keychain
  • sudo mkdir /UE4
  • sudo chmod 777 /UE4
  • sudo mkdir -p /Library/MobileDevice/Provisioning\ Profiles
  • sudo chmod 777 /Library/MobileDevice/Provisioning\ Profiles
  • Copy UnrealRemoteTool from the PC
  • chmod a+x the UnrealRemoteTool
  • Execute UnrealRemoteTool

Back on the PC:

  • Edit Engine\Programs\UnrealBuildTool\BuildConfiguration.xml so it looks like this:
	<RemoteToolChain>
		<PotentialServerNames>
			<Item>MyMacBookAir</Item>
			<Item>MyMacPro</Item>
		</PotentialServerNames>
		<RemoteServerName>MY-MAC-HOSTNAME</RemoteServerName>
	</RemoteToolChain>
  • Load Unreal Editor

  • Create a new Basic Code C++ project called IOSTest, no starter files

  • Place our mobile provisioning profile at IOSTest\Build\IOS\IOSTest.mobileprovision

  • Refresh Visual Studio projects

  • Close editor, open Visual Studio project

  • Compile Development Editor Win64

  • Open IOSTest in the editor to confirm it works

  • Back to VS2013, right-click IOSTest and select “Build”

  • I get this error:

    1>------ Build started: Project: IOSTest, Configuration: IOS_Development_Game Win32 ------
    1> Picking the default remote server MY-MAC-HOSTNAME
    1> Compiling with IOS SDK 7.1 on Mac MY-MAC-HOSTNAME
    1> Compiling with these architectures: armv7
    1>EXEC : error : Error getting full path for: /UE4/Builds/MY-PC/Udk/UnrealEngine-4.1/Engine/Source/…/…/C:\Users\Me\Documents\Unreal Projects\IOSTest\Intermediate\Build\IOS\IOSTest\Inc\Launch\ (Exception: The given path’s format is not supported.)
    1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.MakeFile.Targets(38,5): error MSB3073: The command “E:\Udk\UnrealEngine-4.1\Engine\Build\BatchFiles\Build.bat IOSTest IOS Development “C:\Users\Me\Documents\Unreal Projects\IOSTest\IOSTest.uproject”” exited with code -1.
    ========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped
    ==========

It’s clear that "/UE4/Builds/MY-PC/Udk/UnrealEngine-4.1/Engine/Source/…/…/C:\Users\Me\Documents\Unreal Projects\IOSTest\Intermediate\Build\IOS\IOSTest\Inc\Launch" is an invalid path, but I have no idea where to look in order to fix that.

have same issue, looking for solution, will post here if I find it.

I have found the answer to this issue. In order to use the Remote tool, you must be very careful where you place the Unreal Engine and your Project. The UE4 folder must be at the Root of your drive, on the PC and Mac. Your project folders should be under the UnrealEngine folder. Inside the UnrealEngine folder add a file called UEGames.uprojectdirs with ./ . Doing this will solve this error. I’m going to make a neater tutorial for this whole affair because the current references are terrible at explaining this.

Thanks!

I just had to move the project folder into the root of UE4 folder and add the UEGames.uprojectdirs. Indeed, seems it just concatenates the paths so forcing a relative path fixes the problem. Epic really needs to get this thing sorted out.

I didn’t need to move the UnrealEngine folder (mine is at E:\UDK\Unrealengine-4.1, so I’m not sure if it would work on a path with spaces in it).

This problem was fixed in 4.2. It started compiling with both UE4 source and my project on their default directories. Now onto checking if I can finally get an IOS build out of this…

– BEEP –
Wrong, same problem in 4.2. I was compiling UE4 itself, not my project. The projects still need to be moved into the UnrealEngine folder.