UE5 for M1 Apple Silicon

Hi Everyone,

Here are a few tips and steps I take for building. I think it might be helpful for some.

I mention before but as I read on this thread might not apply to everybody due to disk space. I keep two copy of the branch because I wasted too much time trying to fix broker commit and at the end I learn my technical expertise isn’t at that level so for my own sanity I clone the repo ue5-main twice and always keep one update, if it break it’s fine because I still got one that is compiling.

Anyways here are the steps I used to compile and unless the commit is broken this steps work all the time for me.

Download latest, Setup and Generate Xcode project:
git pull -f && ./Setup.command && ./GenerateProjectFiles.command

Files I modified for editor and shader native Apple silicon M1 (normally I only do this once, git pull doesn’t override them):

Engine/Build/BatchFiles/Mac/XcodeBuild.sh
Line 106: dotnet Engine/Binaries/DotNET/UnrealBuildTool/UnrealBuildTool.dll ShaderCompileWorker Mac Development -architecture=arm64

Engine/Source/Programs/UnrealBuildTool/Platform/Mac/MacExports.cs
Line 48: return AppleArchitecture;

Engine/Build/BatchFiles/Mac/Build.sh
Line 28: dotnet Engine/Binaries/DotNET/UnrealBuildTool/UnrealBuildTool.dll ShaderCompileWorker Mac Development -architecture=arm64

And this last step build the shader and Editor in one step:
./Engine/Build/BatchFiles/Mac/Build.sh UnrealEditor Mac Development -buildscw -architecture=arm64 -verbose

hope this is helpful

4 Likes

Maybe this sounds silly, but did you select build target “My Mac” and not “My Mac (Rosetta)”?

Not silly at all :slight_smile: ”is it plugged in” is always a good starting point.

I did double check that and it was pointed to the correct one. So literally as I posted this message this morning after having built the projects via Xcode + cli but getting only intel binaries I hail married and hit build in Xcode for ue5 before work and I just checked and it worked!!! Not entirely sure which steps I performed to make it work but @Rspaulino s last post mostly covered it although there were a few other script files that I didn’t change that they did.

I got it all up and running with unreal editor showing up as apple, woo!!!. Now to figure out how the heck to work in unreal :rofl:

@Rspaulino this is awesome, thank you!!! Based on your description the last step is what I think I was tripped up on with cli step, I didn’t see the architecture as an option in those docs and was thinking It somehow magically used the xcodebuild.sh with it which makes sense why I kept getting intel binaries.

Thanks again for your time and such concise steps!

1 Like

This is a lifesaver. Well done .

I’ve noticed that both the 5.1 branch as well as the ue5-main branch (which is 5.2) have PointLights which don’t work unless I enable Distance Field Shadows. They show up as Preview textures (the words Preview are literally cast on the effected objects). SpotLights however do work.

Additionally enabling Quixel (and the web browser plugins) cause instant crash once I open the quixel browser from either the menu or by going Content Browser → right click → Add Quixel Content. (See screenshots)

Does anyone else have similar issues?


(Without distance shadows enabled)


(With distance shadows enabled)

3 Likes

I feel so dumb for asking here, but I’ve now tried to download the branch from github twice and I get the same result. I have tried to google to the best of my ability, but it has all been futile, so I figure I’ll ask here.

I downloaded the 5.1 branch from github, and followed the instructions underneath explaining how to build the project.

Once the github files are downloaded, I double click the “Setup.Command” and afterwards GenerateProjectFiles.command." I then try and open the project in xcode, but it is completely empty… I’ve attached a screenshot showing the error msg.

I really hope someone can help me out here, as running the native client installed through the game launcher leaves my CPU at 95c.

Where it says UE5 with the application icon, click it and select the ShaderCompiler. Hit CMD+B to build. Once that’s finished go back to ShaderCompiler and select UE5 again. Now hit CMD+B again to build the editor.

This is where the ShaderCompiler is supposed to be, correct? I feel like I have looked everywhere now.

See screenshot

5.1.0 preview 1 also shows as intel rosetta app :frowning:

3 Likes

that’s unfortunate. perhaps the 5.1 source build now works?

I hope that the 5.1 stable will work then. After all, that was promised in the roadmap

1 Like

I would like to ask you some questions. UE5 doesn’t work properly for me on my M1 Max. I don’t know if I have to do some configurations.
Write me if you don’t mind, fankugast@gmail.com

1 Like

Hi there, I’m new to the game development space. Sharing some updates / issues experienced when using the 5.1 Preview build from the Epic Games Launcher. I am using an M1 Max 32 core, 64GB RAM.

The shaders have completed compiling as the GPU status is now idling. I’m getting this weird rendering effect on the screen. I’ve changed the project settings to enable global illumination via project settings

Previously when running this sample project on 5.0.3, average framerates would be 18-20. Right now I see an average of ≈30fps so there are noticeable performance improvements.

If anybody has suggestions for me to fix this / it’s a common issue, please let me know. Thank you!

1 Like

Hi @Fanku2

I haven’t been keeping up with UE5 for a while but I would suggest posting your question here in case somebody more knowledgeable than I can offer input as well about the issues you’re experiencing.

I have the same issue in just the default first person template, so it seems to be a very common bug. Makes the 5.1 preview quite unusable.

I have the same problem. Enabling dithered LOD transitions in the material editor seems to fix it but slightly increases the instruction count. Some of my static mesh LOD 0’s are also messed up. If anyone knows an actual fix, that would be great.

Just to share with the community.

I didn’t have any problem building 5.1 & 5.2 from new git clone. I attached some info in case it’s useful to anybody.

macOS 12.6/M1 Max/64GB
Xcode 14.0 (14A309)

Branch: 5.1
commit: 2a409691199f45008ae808a738163a9b29162729 (HEAD → 5.1, origin/5.1)
Date: Thu Oct 6 18:54:47 2022 -0400

Branch: ue5-main
commit 40e3b5463fc9d157cad934e390936695a0625e21 (HEAD → ue5-main, origin/ue5-main)
Date: Thu Oct 6 18:20:32 2022 -0400



5 Likes

Great to see this thread :+1:
I’m going to assume Unreal will have an official fully working downloadable ARM release ready when Apple introduces their VR goggles somewhere end of this year or 2023. Unless Apple created a new 3D engine (or partnered with someone) that’s competing with Unreal, Unreal would make sense to be their main build tool for their VR native content. Apple will most likely release a new Mac to beat the current competition as well. Let’s see what happens.

5 Likes