UE5 for M1 Apple Silicon

You can still run Xcode 13 on Ventura. Download it from the apple developer website and then right click the app: show package contents / contents/macOS/Xcode

Shader compiling is much faster with that modification to buildmacos.sh. I would be very excited to see what more performance could be achieved if UEā€™s Mac rendering pipeline was fully optimized for Metal 3 and the unified memory architecture.

2 Likes

Iā€™ve been trying to build from source from the ue5-main fork and iā€™m getting build errors. Anyone got a link to one that actually works?

if you got it working with ventura let me know how and which build you used

For me it works now. Followed instructions on this thread.

Thanks for the insight.
What do you mean by thatā€™s a lot to pay? Are you referring to hardware price in general?

Is 170GB the final size the folder takes? When I tried to build the engine on my M1pro laptop, it consumed the whole usable disk space of my disk, which was around 300GB, and the build process failed due to laking of free disk space. How much disk space should I prepare for building?

Unity is actively supporting MAC Os while Unreal Engine is about to settle some issues with them so for now we must be patient and use PC if we need LUMEN and NANITE functions otherwise Mac with M1 chips work flawlessly.

Same. Over 330GB and barely halfway done. This is frankly unacceptable.

By the way, i had to downgrade from ventura, wipe my entire hard drive and start over with monterey. Built from source again; successfully somehow, but the total ended up being 330 gb. Been trying to figure out what i can delete, how to optimize it. What takes up the most space is the .o object files, deleting them means the engine can run successfully and only take up 60gb but the moment you try to recompile a c++ project the engine basically deletes itselfā€“including the binary INSIDE the unrealeditor.app and a ton of dependencies. Whichā€¦ Which makes no fcking sense.

Figured out i screwed up by not cleaning the build with xcode (still no clue how to add -clean to the build arguments, but i remember seeing that online somewhere that i canā€™t find anymore) but its too late to clean from the xcode project now since somehow backing it up to my hard drive and back screwed up the entire xcode project and renders it unable to even build or clean?

So its back to the drawing board and iā€™ve wasted the past 3 days (literally, the entire day) trying to get 5.1 to compile since theres a fork for that now. And yeah, now i donā€™t have enough hard drive space somehow. I will literally pay money to get an epic developer to pay attention to this. Just throw us a freaking bone here.

1 Like

Ok. figured out a solution. buy a fresh 1tb SSD. plug it in with a usb C to sata adapterā€“you will need those kind of read write speeds because it will still take all night AT LEAST to compile. Copy your github clone to the SSD after its finished downloading.

Launch Setup.commmand and GenerateProjectfiles.command FROM that external SSD. Important step. Donā€™t run those commands first and then copy it over after because it wonā€™t work.

Finally, pick the ue5-main branch because i made the mistake of picking the 5.1 branch, spent all night compiling only to get a ton of compiler errors about incomplete type UAnimationStateMachineGraph, pixelformat.h not found, ITurnkeySupportModule.h not found, UnrealEditor-Kismet.dylib no such file or directory.

Also, the 5.1 branch took up a total of 430GB before it finally failed. Just to show you what kind of ridiculous space you need free just to run this.

I donā€™t know who is pushing builds that fail to even compile. Donā€™t bother with it. The only one iā€™ve ever had success with is ue5-main ONCE and that seemed like a fluke because it is so hit and miss and youā€™re taking a gamble that the daily build you download is even going to work.

I donā€™t use XCode for building; instead, I use the CLI, and you can pass this flag to clean your project.

Engine/Build/BatchFiles/RunUAT.command BuildEditor -clean

and if you want to learn more about different flags, this is a good resource:

And in case itā€™s helpful to anybody here is a breakdown of the repo size:


2 Likes

aaaaaaannndddd after all this, did not compile. a missing reference to ā€œPixelformat.hā€ in mediavideodecoderoutputapple.h and a missing include ā€œInterfaces/IturnkeySupportModule.hā€ in IOSCustomIconProjectBuildMutatorFeature.cpp. Iā€™m starting to lose my mind here.

Seriously iā€™m going to keep bumping this until epic finally notices it. It takes 10 hours to compile just to test if its working and it never does. Iā€™ve filed a bug report. Epic doesnā€™t care about us.

Theyā€™ll come in to censor my posts because i say a curse word but they wonā€™t address the issue. OH NO HE DID A SWEAR! Do your job! Iā€™ve lost WEEKS on this!

1 Like

Switched from Xcode to VScode. Installed 5.0.3 from the epic games store. Tried making a simple c++ class.

Guess what? MORE COMPILER ISSUES.

Why? Another freaking include not found. this time Coreminimal.h.

Iā€™ve done some digging and I think i know whats going on now.
any time i seem to have an issue its due to a file that probably exists somewhere in
/Users/Shared/Epic Games/UE_5.0/Engine/Source/Runtime/Core
and rather than actually bother with actual relative linking for their header files the all knowing epic developers have seen fit to just dump them all in one folder and rely on some kind of global include configurations within vscode or xcode projects?

Except this is an actual termination because using View>Command Palatte: and adding /Users/Shared/Epic Games/UE_5.0/Engine/Source/Runtime/Core to the includes for my vscode project configuration does literally nothing. CoreMinimal.h is sitting RIGHT THERE! Why canā€™t it see it?

Plenty of google results show that iā€™m not NEARLY the first person to have this issue and itā€™s historically been especially egregious on mac users.

Iā€™m NOT an expert c++ coder. I shouldnā€™t have to be, just to get the engine up and running. Iā€™m not even building from source anymore and iā€™m STILL having these problems. Jesus christ, Epic. How hard is it to fix your includes?

2 Likes

What version of Xcode were you using? Iā€™m compiling the 5.1 branch on Xcode 13.4 wish me luck. Iā€™ve had days wrestling with the engine like you described. Thatā€™s how we test our limits and learn! I wish you the best!

Greetings @BenVolo,

Please believe that I deeply empathize with your development frustrations. Honestly, swearing in your posts will firstly get the attention of the moderators - not the attention of those you seek.

While I am wholeheartedly a champion for free speech, personally, I must revert to our Forum Rules/Code of Conduct where we expect a level of professionalism and respect from our members.

Letā€™s please remain family friendly, as your post becomes publicly available after submission.

Thank you for your cooperation!

'- Your Friendly Neighborhood Moderator :smiley:

You know that people that work in unreal donā€™t own anything to you?
First, the unreal engine is not open source, the code is there so you can take a look and build if you want but itā€™s not open source, so the main branch is not suppose to be fully working. They do w/e they want with the code. What they need to make it work is the releases which works.
Is your own problem to make it work from the source code. If you lost weeks to make it work, is your own problem since you wanted to build from source code. The release is there to be downloaded from the official unreal engine application and it works.

Also, if you want to build because of m1 implementation, then is again your own problem since is not even released to the public, it is in development yet. People here are just trying the new stuffs but since we are building from source code, we should expect a lot of problems and optimizations to be done.

Stop whining like a child.

1 Like

I just want to quickly chime in here regarding building UE5 using Apple Silicon.

First of all, it compiles, runs and works in a basic manner:

  • Creates projects;
  • Hot reloading;
  • Lighting;
  • C++/Blueprints
  • Etc.

As far as I can tell Lumen also works but Iā€™m not sure about Nanite. It compiles using Xcode and JetBrains Rider. If you want to compile using rider you must edit Build.sh found in Engine/Build/BatchFiles/Mac/ and append -architecture=arm64 for all dotnet calls in that file. Xcode just works without needing any sort of modifications to the build scripts or settings in Xcode.

Iā€™m currently on the ue5-main branch (important because release does NOT compile) and on commit 4a4f5004b7b237577d12a64b68dc444f154553f4.

If it doesnā€™t work for you, Iā€™m more than happy to help.

Hope it helps.

5 Likes

Hi there @jeffeyd ! thanks for the follow up. Iā€™ve read through this thread a few times and have tried the various set of instructions from the 2 working commits mentioned here including the one you mention as well as separately tested the head of ue5_main yesterday + modifying the XcodeBuild.sh to set -architecture=arm64 but iā€™m unable to get an apple binary in the end.

Iā€™m able to compile ShaderCompileWorker and target My Mac (apple silicon) in xcode and it works fine. However building UE5 always fails. But if I build ShaderCompileWorker in xcode and then use @Rspaulino s mention of building using the cli using Engine/Build/BatchFiles/RunUAT.command BuildEditor -clean it builds!

However I always end up with an intel binary in the Engine/Binaries/Mac/UnrealEditor.app

Iā€™m sure iā€™m just missing something or doing something wrong but am just unsure what it would be, currently Iā€™m running an attempt at Xcode build again for ue5 but I always get something about illegal instruction or something along those lines.

any help would be appreciated :slight_smile:

1 Like