Building FMOD for iOS on Windows machine

I’m using the remote build feature to build an iOS app in Unreal 4.21 on a Windows 10 64-bit machine. The build doesn’t complete when the Windows/Android FMOD plugin is installed. When I try to install the Mac iOS FMOD plugin and open the project, it asks if would like to compile and if I hit ‘Yes’, the compile fails and I can’t open the project. This is a pure blueprints project.

Can you please point me in the right direction of how to make this work? Thank you!

I get the following errors:

UATHelper: Packaging (iOS): clang: error: no such file or directory: ‘/Users/unreal/UE4/Builds/DESKTOP-1RRTI06/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-1RRTI06/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-1RRTI06/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-1RRTI06/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-1RRTI06/G/Z/Unreal_Projects/DMX_iOS/Binaries/IOS/DMX_iOS

I’ve tried adding the iOS binaries to the listed folder on the Mac but it just gets overwritten and displays the same message. I’ve tried adding the iOS binaries on the Windows machine and same issue.

What version of FMOD are you using?

Thanks for replying, Cameron. Sorry - forgot to mention version.

My original project file is UE4.21 - so I tried using the 4.21 integration. The banks were built with FMOD Studio 1.10.20 I believe.

I’ve also tried converting the project to UE4.25 and using the 4.25 integration after building with FMOD Studio 2.01. With this version I’m able to remotely build the iOS .ipa file without errors, but when I try to run it on the iPhone it gives me this error.

Are you able to share your entire build log file/s? From either or both versions if possible.

Here are the output logs for 4.25 and 4.21. 4.25 successfully builds but gives me the attached error when running on iPhone. 4.21 cannot build.

I tried using FMOD Studio 2.00.10 for both 4.25 and 4.21 in the tests that correspond to these logs.421Log.txt (92.0 KB) 425Log.txt (36.7 KB)

This may require more investigation as I’m not sure if we can do something about it in our plugin, but previously someone else had used this:

I belive the only issue is that DLL files (or your other third party files) are in Binaries folder which gets wiped before packaging. According to this post you can choose any other folder for them. “Now since our DLL is in one of the folders in our plugin (you can use any folder , I used third party for consistency)” https://answers.unrealengine.com/questions/427772/adding-dll-path-for-plugin.html?sort=oldest

@cameron-fmod I’ve tried this workaround but it’s giving me the same errors. I may be missing something. I change the ‘RemoteMac.cs’ file to contain:

CommonRsyncArguments.Add("–filter ‘protect libfmodstudio_iphoneos.a’");
CommonRsyncArguments.Add("–filter ‘protect libfmodstudioL_iphoneos.a’");
CommonRsyncArguments.Add("–filter ‘protect libfmod_iphoneos.a’");
CommonRsyncArguments.Add("–filter ‘protect libfmodL_iphoneos.a’"); 

and save it. Then, I open UnrealBuildTool.csproj and ‘Build’ the solution. I then try building the Unreal project and see the same error. Is there a step missing?

Does what @Skylonxe suggested about the DLLs lead to a more official fix?

@Skylonxe Can you please review the process I went through above and let me know if I’m missing a step or doing something incorrectly, please? After opening the UnrealBuildTool.cspoj do I just ‘Build’ the solution or is there something else I need to do?

When you say:

There is UnrealBuildTool.csproj in launcher builds too and you can safely change it’s source and rebuild only this C# project.

What do you mean by ‘change it’s source’? Any help would be greatly appreciated. Thank you!

There are no additional steps. You should need to just modify the RemoteMac.cs file and build the UnrealBuildTool.csproj in visual studio. You can try to find UnrealBuildTool.exe, delete it, build the UnrealBuildTool.csproj again and ensure that new exe was created.

By change it’s source I mean modification of RemoteMac.cs, as you did. I suggest you to rewrite all lines manually from screenshot in that thread as it seems webpage changed some characters like double dash to long dash.

This should be on PC from which you are triggering the build.