Launch an ARKit Project from Windows with a Mac Mini

PackagingResults: Error: Deployment failed! Missing UE4Game binary.
You may have to build the UE4 project with your IDE. Alternatively, build using UnrealBuildTool with the commandline:
UE4Game <Platform> <Configuration>

Now, that took me some time to figure, albeit it’s easier than you might think.

 

Idea:

I’ve got a Mac Mini in my local network which I wanted to use to compile iOS Projects from my Windows PC, since – as you know – for certain plugins like ARKit or Location Services being involved you’ll need XCode to do the job of packaging. The reason is quite simple: Windows cannot work with the binaries required to access these features on an iOS device.

Long story short: After Googling I almost stopped trying this, because literally every result ended in open questions, very long instructions with misleading steps and a lot of them are outdated.

These things are correct:

  • You do not need to download anything on your PC or touch a Mac Terminal
  • You do not need anything UE4 related on your Mac or even ever start XCode
  • You do not need to setup RSync, DeltaCopy or CygWin or whatever
  • You do not have to import/export any certificates when working with Blueprints only

I am here, as a human being, to confirm that UE4’s remote build feature works out of the box on a fresh Mac OS 10.13 with only XCode installed.

 

Overall setup:

1) Mac (OS 10.13):
  • Download and install XCode 9 from App Store
  • Enable the following settings under System Preferences/Sharing and remember your Computer name (1) and your username (2)

 

2) PC: (Win10 & UE 4.18 P3):
  • A valid .p12 and .mobileprovision file set up in your Project Settings
  • Fill in the remote server settings as shown. Fill in the names the same as on your Mac:

 

3) SSH:
  • Click the Generate SSH Key Button and follow along this

 

Summary:

That’s literally it. UE4 does an amazing job of pushing files over to your Mac, use XCode to build what’s left and copy it back to your PC. That said, once you have packaged the project, you can easily Launch it on a device and keep up a healthy workflow of testing.

 

Troubleshoot:

While I myself spent most time on the following error messages, please feel free to post yours into the comments and I might have stumbled upon it as well.

System.FormatException: Input string was not in a correct format.

This appears to be a follow up error. Scroll up a little in your log to see what happened earlier.

 

DeltaCopy/ssh.exe: error while loading shared libraries: ***.dll

This is most likely a security issue or missing PATH entry with DeltaCopy itself.
Try to simply leave the DeltaCopy Path blank. This way UE4 will automatically use its own shipped DeltaCopy which works fine as of now. For reference, it’s located in:
{UE4_INSTALL_PATH}\{UE4_VERSION}\Engine\Extras\ThirdPartyNotUE\DeltaCopy

 

LogPlayLevel: ERROR: Stage Failed. Missing receipt

This error occurs if you’re launching a project which hasn’t been packaged yet. To solve it, package the project for the platform you’re going to launch it.

 

UATHelper: Packaging (iOS): UnrealBuildTool: Failed to initialize a connection to the Remote Server

Doublecheck the username you entered in your UE4 settings.

 

Have a nice (remote) build!

7 thoughts to “Launch an ARKit Project from Windows with a Mac Mini”

  1. Hi Marvin, i faced problem when trying to generate SSH key. I tried to search online for the solution, but can’t found any clue. I hope you could help me solve this problem, thanks in advance.
    Below is the error i faced:

    1. message after first “Press any key to continue . . .”
    ssh: Could not resolve hostname MacBook-Pro “if [[ ! -e .ssh ]]; then mkdir .ssh; fi && cd .ssh && if [[ -e authorized_ke: no address associated with name

    2. message after second “Press any key to continue . . .”
    1 [main] rsync 9456 child_copy: linked dll data write copy failed, 0x2608000..0x2608008, done 0, windows pid 9456, Win32 error 998
    rsync: fork: Resource temporarily unavailable (11)
    rsync error: error in IPC code (code 14) at /home/lapo/packaging/rsync-3.0.4-1/src/rsync-3.0.4/pipe.c(63) [receiver=3.0.4]

  2. This (and a good few things on your blog) are just what I’ve been looking for!

    May I ask what model Mac Mini you’ve used? or any that’ll run iOS 10.13 and up will do? I’d thought this was the cheapest way to build ARKit for iOS but really didn’t want to buy a cheaper old Mini to find it’s useless.

    Massive thanks though, I’ll be bookmarking your blog for sure.

  3. I’m getting the error message “ssh Could not resolve host name “name here”: No address associated with name” in the command line when trying to generate SSH Key from Unreal.

  4. Hi Marvin,

    thanks for the tutorial, most helpful just to give a further tip / bugfix that I found when setting this up on windows 10.

    Error:
    UATHelper: Packaging (iOS): @ WARNING: UNPROTECTED PRIVATE KEY FILE! @
    UATHelper: Packaging (iOS): @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    UATHelper: Packaging (iOS): Permissions 0660 for ‘/cygdrive/C/Users/xxxx/AppData/Roaming/Unreal Engine/UnrealBuildTool/SSHKeys/xxxx/xxxx/RemoteToolChainPrivate.key’ are too open.

    Resolution:

    C:\Users\%USERNAME%\AppData\Roaming\Unreal Engine\UnrealBuildTool\SSHKeys\%SERVER%\%USERNAME%\RemoteToolChainPrivate.key

    Right Click > Properties > Security
    Add ‘Users’ and grand full permissions
    Remove your own username from the list

  5. Great article. I was looking for something like that. Unfortunately, I can’ t get pass the ‘UATHelper: Packaging (iOS): ERROR: System.FormatException: Input string was not in a correct format.’ error. Please write me up if you know the solution, it feels like I’ve tried everything. Thanks!

Leave a Reply to Grzegorz Cancel reply

Your email address will not be published. Required fields are marked *

*