Remote building for iOS on Windows machine - How to handle plug-ins

Hello,

I’m using the remote build feature to build an iOS app in Unreal 4.21 on a Windows 10 64-bit machine. I’m using FMOD (https://www.fmod.com/) and the plug-in comes in Windows/Android binaries or Mac/iOS. I can build just fine without the plug-in turned on, but when it’s activated I get the following errors:


UATHelper: Packaging (iOS): clang: error: no such file or directory: ‘/Users/unreal/UE4/Builds/DESKTOP-1DDTI06/G/Z/Unreal_Projects/DMX_iOS/Plugins/FMODStudio/Binaries/IOS/libfmodL_iphoneos.a’
UATHelper: Packaging (iOS): clang: error: no such file or directory: ‘/Users/unreal/UE4/Builds/DESKTOP-1DDTI06/G/Z/Unreal_Projects/DMX_iOS/Plugins/FMODStudio/Binaries/IOS/libfmodstudioL_iphoneos.a’
PackagingResults: Error: no such file or directory: ‘/Users/unreal/UE4/Builds/DESKTOP-1DDTI06/G/Z/Unreal_Projects/DMX_iOS/Plugins/FMODStudio/Binaries/IOS/libfmodL_iphoneos.a’
PackagingResults: Error: no such file or directory: ‘/Users/unreal/UE4/Builds/DESKTOP-1DDTI06/G/Z/Unreal_Projects/DMX_iOS/Plugins/FMODStudio/Binaries/IOS/libfmodstudioL_iphoneos.a’
UATHelper: Packaging (iOS): ERROR: UBT ERROR: Failed to produce item: /Users/unreal/UE4/Builds/DESKTOP-1DDTI06/G/Z/Unreal_Projects/DMX_iOS/Binaries/IOS/DMX_iOS

I’ve tried adding the iOS binaries into Plugins on the Windows machine but the problem persists. I’ve also tried adding the path that it says doesn’t exist on the Mac with the iOS binaries in there but with no success.

Can someone please help me understand how to remote build on a Mac while using the correct plugins for the iOS platform? Can’t find any info on this. Thanks so much.

Does the plugin have iOS set in a target platform? You may need to explicitly set this in the uplugin file.

*.a files are not copied to remote machine. It’s not supported. You can manually add these files to remote machine and change include pathes to use them.

Thank you both for your responses!

@david.gillespie Here is the content of the uplugin file:


{
"FileVersion" : 3,

"FriendlyName" : "FMOD Studio Integration",
"Version" : 20010,
"VersionName" : "2.00.10",
"CreatedBy" : "Firelight Technologies",
"CreatedByURL" : "http://fmod.com",
"Description" : "FMOD Studio Integration.",
"Category" : "Audio",
"EnabledByDefault" : true,

"Modules" :

{
"Name": "FMODStudio",
"Type": "CookedOnly",
"LoadingPhase": "PreLoadingScreen"
},
{
"Name": "FMODStudio",
"Type": "Runtime",
"LoadingPhase": "PreDefault"
},
{
"Name" : "FMODStudioEditor",
"Type" : "Editor"
}
],

"CanContainContent" : true,
"Installed" : true
}

How would you recommend setting the target in this file? I’m having trouble finding any guides on doing this.

@ufna Where would be the best location to add these on the remote machine? I would assume the path that is listed in the error, but I tried that and they get overwritten during build. Where should I add the include paths? Would this be Project Settings -> Packaging?

Thank you!

You should be able to specify what platforms a plugin builds for by adding the following to the uplugin file:

  1. “SupportedTargetPlatforms”:
  2. “Win64”
  3. ],

One thing - UE4 plugins don’t compile correctly for iOS if they are BP only unless there is some C++ in the plugin. Simply adding a C++ class to the plugin and then building the plugin it from Visual Studio may get this to work. It’s an inconsistency in how one would expect the packaging process would work (particularly where you can specifically create BP only plugins) and it’s on Epic’s bug list.

I would also suggest that if it’s a 3rd party plugin, you get in touch with the third party in the first instance who should be able to provide direct support.

@david.gillespie Thanks for all your help!