XCode update on Mac OS breaks build process UE 5.6

I’m using an M2 mac for development and teaching - it is administered by my employer, and this morning an update was pushed out that updated XCode. I had to re-accept the license.

this is what i have now:

wsack@cast-wsackml lab01 % clang -v
Apple clang version 17.0.0 (clang-1700.3.19.1)
Target: arm64-apple-darwin24.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
wsack@cast-wsackml lab01 %

When i went to build a project that had worked the day before, i got this error message:

/Users/wsack/Applications/UE_5.6/Engine/Build/BatchFiles/Mac/../../../Binaries/ThirdParty/DotNet/8.0.300/mac-arm64
Running dotnet Engine/Binaries/DotNET/UnrealBuildTool/UnrealBuildTool.dll DMS332Editor Mac Development /Users/wsack/Documents/Unreal Projects/DMS332/DMS332.uproject -waitmutex
Log file: /Users/wsack/Library/Application Support/Epic/UnrealBuildTool/Log.txt
Using ‘git status’ to determine working set for adaptive non-unity build (/Users/wsack/Documents/Unreal Projects/DMS332).
Invalidating makefile for DMS332Editor (ispc deleted)
Platform Mac is not a valid platform to build. Check that the SDK is installed properly and that you have the necessary platform support files (DataDrivenPlatformInfo.ini, SDK.json, etc).

Here is the relevant section of UnrealBuildTool/Log.txt

Skipping /Users/wsack/Applications/UE_5.6/Engine/Intermediate/Build/BuildRules/UE5Rules.dll: File is installedSkipping /Users/wsack/Applications/UE_5.6/Engine/Intermediate/Build/BuildRules/UE5ProgramRules.dll: File is installedUsing ‘git status’ to determine working set for adaptive non-unity build (/Users/wsack/Documents/Unreal Projects/DMS332)./Users/wsack/Applications/UE_5.6/Engine/Source/ThirdParty/Intel/ISPC/bin/Mac/ispc has been deleted since makefile was built.Invalidating makefile for DMS332Editor (ispc deleted)Platform Mac is not a valid platform to build. Check that the SDK is installed properly and that you have the necessary platform support files (DataDrivenPlatformInfo.ini, SDK.json, etc).BuildException: Platform Mac is not a valid platform to build. Check that the SDK is installed properly and that you have the necessary platform support files (DataDrivenPlatformInfo.ini, SDK.json, etc).at UnrealBuildTool.UEBuildTarget.Create(TargetDescriptor Descriptor, Boolean bSkipRulesCompile, Boolean bForceRulesCompile, Boolean bUsePrecompiled, UnrealIntermediateEnvironment IntermediateEnvironment, ILogger Logger)at UnrealBuildTool.UEBuildTarget.Create(TargetDescriptor Descriptor, BuildConfiguration BuildConfiguration, ILogger Logger)at UnrealBuildTool.BuildMode.CreateMakefileAsync(BuildConfiguration BuildConfiguration, TargetDescriptor TargetDescriptor, ISourceFileWorkingSet WorkingSet, ILogger Logger)at UnrealBuildTool.BuildMode.BuildAsync(List`1 TargetDescriptors, BuildConfiguration BuildConfiguration, ISourceFileWorkingSet WorkingSet, BuildOptions Options, FileReference WriteOutdatedActionsFile, ILogger Logger, Boolean bSkipPreBuildTargets, String ActionTypeFilter)at UnrealBuildTool.BuildMode.ExecuteAsync(CommandLineArguments Arguments, ILogger Logger)at UnrealBuildTool.UnrealBuildTool.Main(String ArgumentsArray)WriteFileIfChanged() wrote 0 changed files of 1 requested writes.
Timeline:[  0.000]  +0.340 Main0.087          [  0.087]  +0.080 Apply XmlConfig0.223          [  0.223]  +0.117 RegisterPlatforms[  0.340]  +2.218 BuildMode0.340          [  0.000]  +2.077 2.417          [  2.077]  +0.130 Creating MakeFile for DMS332Editor2.549          [  2.208]  +0.009 Saving caches[  2.569]  +0.000 TelemetryService.FlushEvents[  2.570]
Result: Failed (OtherCompilationError)Total execution time: 2.57 seconds

I don’t know what SDK this refers to. Is there someplace in the editor i have to change the clang version? Is it possible to fix this without rolling back the xcode version?

2 Likes

I am seeing something similar on 5.4.4 and hoping for a fix soon.

Rider will no longer generate the project. Digging into the logs shows this line:

Registering build platform: Mac - buildable: False

But little else.

I have attempted a lot of little fixes but none seem to work.

To get around this for now, I downloaded Xcode 16.4 by following the link from this index (which redirects to a link from apple). I extracted the .xip file (which just puts a single .app in the directory it’s extracted into), and then used xcode-select --switch /[target directory you extracted it to]/Xcode.app/Contents/Developer

I believe you can maintain the second installation until this issue is fixed, and go back to the default one if you need to using xcode-select.

5 Likes

I’m on the same situation with my m2 mini which I use as a fully CI/CD to build all Apple platform package of my game.

Thanks @tdmann it’s work very well.

I hope that Epic publish an update quickly.

This is a great solution, though it does require root permission to run xcode-select and I can’t do it on my uni-owned lab computers … i’ll ask the admins if they’ll do it for me.

i’m wondering, while we’re here, if the Apple_SDK.json file has something to do with this? The contents of it in my 5.6 installation are:

{
    // Xcode versions
"MainVersion": "15.2",
"MinVersion": "15.2.0",
"MaxVersion": "16.9.0",
// !!!
// NOTE: If you update the MaxVersion, double check the AppleVersionToLLVMVersion array below!!!
// !!!

// The versions on Windows are iTunes versions
"MinVersion_Win64": "1100.0.0.0",
"MaxVersion_Win64": "8999.0",

// This is not a version range, but a mapping of Xcode clang versions to LLVM versions, for shared version checks with other clangs
// Version mapping can be found at 
// The first version is the first version that is using the second version source LLVM
"AppleVersionToLLVMVersions": [
"14.0.0-14.0.0", // Xcode 14.0 -> LLVM 14.0
"14.0.3-15.0.0", // Xcode 14.3 -> LLVM 15.0
"15.0.0-16.0.0", // Xcode 15.0 -> LLVM 16.0
"16.0.0-17.0.6", // Xcode 16.0 -> LLVM 17.0.6
    ],
}

is this line “MaxVersion”: “16.9.0” the one that’s causing it to break?

The same thing happens with Rider itself - after XCode upgrade, it can no longer load a project + it complains about the Unreal Link not being installed in the engine and it cannot install it.

Thanks to @tdmann for the fix, downgrading back to the previous major XCode version indeed helped.

I guess we have to wait until Unreal and Rider catch up with the new XCode. If someone has news re this, it would be great to know!

Changing the max version in my Apple_SDK.json file fixed the issue for me

I ran into an issue where Unreal Engine 5.6 wouldn’t generate Xcode projects on macOS with Xcode 26 installed. The logs showed errors like:

Platform Mac is not a valid platform to build. 
Check that the SDK is installed properly and that you have the necessary platform support files (DataDrivenPlatformInfo.ini, SDK.json, etc).

And when trying to generate project files, it would only produce partial stuff inside Intermediate/ProjectFiles without the .xcworkspace.


Steps that fixed it:

  1. Patch Unreal’s Apple SDK config
    Unreal ships with strict version checks for Xcode. In my case, it capped MaxVersion at 16.9.0.
    Edit these two files (for both UE 5.5 and 5.6 installs if you have them):

    nano "/Users/Shared/Epic Games/UE_5.6/Engine/Config/Apple/Apple_SDK.json"
    nano "/Users/Shared/Epic Games/UE_5.5/Engine/Config/Apple/Apple_SDK.json"
    
    

    Find:

    "MaxVersion": "16.9.0",
    
    

    Change it to something future-proof, e.g.:

    "MaxVersion": "30.0.0",
    
    

    Save and exit.

  2. Regenerate project files with UnrealBuildTool
    Instead of relying on the editor GUI, run UBT manually with Unreal’s bundled dotnet:

    cd "/Users/<username>/Documents/Unreal Projects/<YourProject>"
    rm -rf Intermediate/ProjectFiles
    
    "/Users/Shared/Epic Games/UE_5.6/Engine/Binaries/ThirdParty/DotNet/8.0.300/mac-arm64/dotnet" \
    "/Users/Shared/Epic Games/UE_5.6/Engine/Binaries/DotNET/UnrealBuildTool/UnrealBuildTool.dll" \
    -projectfiles -xcodeproject \
    -project="/Users/<username>/Documents/Unreal Projects/<YourProject>/<YourProject>.uproject" -game -engine
    
    
  3. Open the correct workspace
    Unreal writes the Xcode workspaces to the root of your project folder, not inside Intermediate/ProjectFiles.
    Example:

    open "/Users/<username>/Documents/Unreal Projects/<YourProject>/<YourProject> (Mac).xcworkspace"
    
    

Result:

After doing this, Xcode 26.0.1 stopped being rejected, and my full source tree showed up again in the workspace. No more Platform Mac is not a valid platform errors.

hope someone finds this helpful as it took me a bit.

8 Likes

thank you so much very good

This is great work! I kinda figured the solution would be something like this.

The admins in my classroom just rolled XCode back to 16.4 and changed the apple store settings so it wouldn’t be updated. As soon as we can be certain that new versions of the SDK have fixed the MaxVersion problem, I’ll ask them to revert back to the auto-update.

Thank you!