UE5.8 Unable to build Game on macOS 27

Summary

Unreal 5.8.1 or 5.8.2 on macOS 27 with Xcode 27 won’t complete a build of the Game profile via UBA or through the create packaged build option within the editor. Fails at step ‘Touch UBT generated tiles’ with Bad File Descriptor. Editor builds without issues.

What Type of Bug are you experiencing?

Platform Other

Steps to Reproduce

Attempt to build Game in either DebugGame, Development or Shipping profile

Expected Result

Game .app bundle is created without errors

Observed Result

Fails at step ‘Touch UBT generated tiles’ with Bad File Descriptor which seems to be a generated script in /var/folders/fy/qk7h6txd4q3400xh3ts0_dsc0000gn/T/SchemeScriptAction-xxxxxx.sh
It also outputs a base64 encoded string into the log;
{“type”:{“workspace”:{}}}

Affects Versions

5.8

Platform(s)

Mac

5 Likes

As a follow-up to this post. If I download the source version of UE 5.8.2 and attempt to compile it for macOS, every time it reaches a point where it creates an app bundle for the Editor or Game, the same error is presented. So it seems to be a general issue with the build pipeline when creating app bundles on macOS 27 with Xcode 27.

3 Likes

Still same issue exists with UE 5.8.2 released version.

LogPlayLevel: UAT: ** BUILD FAILED **
LogPlayLevel: UAT:
LogPlayLevel: UAT:
LogPlayLevel: UAT: The following build commands failed:
LogPlayLevel: UAT: Run custom shell script ‘Touch UBT generated tiles’
LogPlayLevel: UAT: eyJ0eXBlIjp7IndvcmtzcGFjZSI6e319fQ==
LogPlayLevel: UAT: (2 failures)
LogPlayLevel: Error: UAT: ERROR: Failed to finalize the .app with Xcode. Check the log for more information

1 Like

Confirming this issue on macOS 27, Xcode 27, UE 5.8.2, using Modern Xcode IOS build.

Build fails at the “Touch UBT generated tiles” scheme pre-action script with zero output. No error, no log line from the script itself, just “BUILD FAILED” and “Failed to finalize the .app with Xcode”.

Granting disk access to dotnet or other Unreal tools didn’t help. Also tried disabling UBA, disabling Spotlight indexing, and running the build scripts with elevated permissions - no change.

Building from Xcode project directly works fine. “Touch UBT generated tiles” pre-action runs without issue there. It fails when building via terminal / Editor. But building through Xcode doesn’t cook content, so you first need at least one successful terminal/Editor build to get cooked content before Xcode builds are actually usable.

The only workaround I found: fully wipe Binaries, Saved and Intermediate (project + plugins), Xcode/DerivedData and delete the generated .app before every build. A clean build from terminal lets the pre-action script run. Just deleting the .app isn’t enough. Even with a full wipe it’s not 100% reliable, but it’s the only thing that consistently helps.

And there’s no way to run Xcode 26 on macOS 27…

UPD: for iOS SDK 27 you also need bUseSceneBasedLifecycle enabled, otherwise you get a crash. And to actually use it you need to rebuild the ApplicationCore and Launch Engine modules with that flag - without the rebuild you just get a black screen instead of a crash.

2 Likes

Thank you for flagging, getting this to the proper team to take a look.

2 Likes

Thank you for flagging everyone. They are working on it.

2 Likes

A fix was committed into Main (github link) and we will work on getting it into a future 5.8.x hotfix.

3 Likes

Thanks a lot for the quick fix and for linking the commit!

One follow-up: any plans for the bUseSceneBasedLifecycle requirement on an Xcode 27 build? Without it enabled, the IOS build crashes. But enabling it alone isn’t enough. IOSSceneDelegate only gets compiled in if ApplicationCore is rebuilt with UE_IOS_SCENE_LIFECYCLE, so on an installed engine you get a black screen instead (Info.plist points to a class that was never built). Would be great if this shipped enabled by default for Xcode 27, or as part of the precompiled binaries in a hotfix.

Wanted to give a heads-up before this turns into a bunch of separate reports

1 Like

It is a topic we are discussing internally. You can still build with Xcode26.6 with macOS27 via UE Editor, RunUAT or ushell, even if you can not open Xcode26 directly. Building with Xcode26 avoids the crash on iOS27 devices.

Before it can be enabled by default, QA will need to test it across multiple projects to confirm there’s no regressions.

2 Likes

UE-396802’s status has changed to ‘Ready for QA’. A member of the QA department is investigating the issue.

2 Likes

Newly released 5.8.3 does not seem to have the fix. Is it expected as part of 5.8.4?

If you’ve installed the engine source through the Launcher, the UBT .sln project is already there (/UE_5.8/Engine/Source/Programs/UnrealBuildTool).
You can just add those couple of lines with the fix, rebuild it, and copy the binaries from the UBT project (“obj” folder) into the engine’s Binaries folder.

I do this a lot, actually: instead of dealing with a source build, I just rebuild the specific engine modules I’ve changed and swap their binaries into the Launcher engine

1 Like

The switch to using UIScene lifecycle has made it into the github dev-5.8 repo here. Still no guarantee it will be in the next 5.8 hotfix as it can always be reverted, but you can merge it into your own engine build if you do not want to wait. Cheers.

1 Like