Unity on Apple silicon and Big Sur: Known issues and workarounds

This page contains known issues and workarounds related to running Unity and games made in Unity on Apple silicon hardware and/or macOS Big Sur operating system. Note that native Apple silicon support for the player was added in Unity 2020.2.0a21. We plan to release an alpha version of the editor that runs on Apple silicon hardware natively in Q2 2021.

Unity player issues

Fixed issues

Known issue: macOS Apple silicon standalone player builds with Mono scripting backend crash shortly after launching them with this callstack:

* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
  * frame #0: 0x0000000196f1e748 libsystem_platform.dylib`_platform_memset_pattern16 + 296
    frame #1: 0x00000001228ef448 libmonobdwgc-2.0.dylib`mono_arch_create_sdb_trampoline + 132
    frame #2: 0x0000000122891254 libmonobdwgc-2.0.dylib`mini_get_breakpoint_trampoline + 80
    frame #3: 0x00000001228e3c40 libmonobdwgc-2.0.dylib`mono_arch_init + 68
    frame #4: 0x000000012280d378 libmonobdwgc-2.0.dylib`mini_init + 664
    frame #5: 0x0000000100e845b4 UnityPlayer.dylib`InitializeMonoFromMain(dynamic_array<core::basic_string<char, core::StringStorageDefault<char> >, 0ul> const&, core::basic_string<char, core::StringStorageDefault<char> >, core::basic_string<char, core::StringStorageDefault<char> >, int, char const**, bool) + 1260
    frame #6: 0x0000000100e901d8 UnityPlayer.dylib`LoadAndInitializeMono(dynamic_array<core::basic_string<char, core::StringStorageDefault<char> >, 0ul> const&, core::basic_string<char, core::StringStorageDefault<char> > const&, core::basic_string<char, core::StringStorageDefault<char> >, core::basic_string<char, core::StringStorageDefault<char> > const&, int, char const**, bool (*)()) + 196
    frame #7: 0x0000000101737ba4 UnityPlayer.dylib`LoadScriptingRuntime(core::basic_string<char, core::StringStorageDefault<char> > const&, core::basic_string<char, core::StringStorageDefault<char> > const&, int, char**) + 840
    frame #8: 0x0000000101737f04 UnityPlayer.dylib`SetupUnityPlayer(int, char**) + 124
    frame #9: 0x0000000101732368 UnityPlayer.dylib`-[PlayerAppDelegate applicationDidFinishLaunching:] + 568
    frame #10: 0x0000000197075374 CoreFoundation`__CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 28
    frame #11: 0x000000019711469c CoreFoundation`___CFXRegistrationPost_block_invoke + 52
    frame #12: 0x0000000197114608 CoreFoundation`_CFXRegistrationPost + 440
    frame #13: 0x000000019704472c CoreFoundation`_CFXNotificationPost + 708
    frame #14: 0x0000000197c2281c Foundation`-[NSNotificationCenter postNotificationName:object:userInfo:] + 64
    frame #15: 0x0000000199891c24 AppKit`-[NSApplication _postDidFinishNotification] + 340
    frame #16: 0x0000000199891948 AppKit`-[NSApplication _sendFinishLaunchingNotification] + 236
    frame #17: 0x000000019988eafc AppKit`-[NSApplication(NSAppleEventHandling) _handleAEOpenEvent:] + 580
    frame #18: 0x000000019988e6fc AppKit`-[NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent:] + 780
    frame #19: 0x0000000197c4eed0 Foundation`-[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:] + 344
    frame #20: 0x0000000197c4ed08 Foundation`_NSAppleEventManagerGenericHandler + 96
    frame #21: 0x000000019d142ca0 AE`___lldb_unnamed_symbol71$AE + 1828
    frame #22: 0x000000019d1424fc AE`___lldb_unnamed_symbol70$AE + 44
    frame #23: 0x000000019d13afb4 AE`aeProcessAppleEvent + 520
    frame #24: 0x000000019f206a14 HIToolbox`AEProcessAppleEvent + 68
    frame #25: 0x0000000199888a80 AppKit`_DPSNextEvent + 1664
    frame #26: 0x0000000199887148 AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1300
    frame #27: 0x00000001998793d8 AppKit`-[NSApplication run] + 600
    frame #28: 0x000000019984bb80 AppKit`NSApplicationMain + 1064
    frame #29: 0x0000000101738e78 UnityPlayer.dylib`PlayerMain(int, char const**) + 1004
    frame #30: 0x0000000196e7094c libdyld.dylib`start + 4

Issue tracker: Unity Issue Tracker - macOS Apple silicon Standalone player with Mono scripting backend crashes on macOS Big Sur beta 6
Workaround: None at this time. Use IL2CPP scripting backend if you need your builds to run.
Expected resolution: The issue is fixed in 2020.2.0b14 and 2021.1.0a5.

Known issue: macOS Apple silicon standalone player non-development builds don’t launch on Apple silicon hardware. You will be greeted with a dialog like this:
6077313--700437--upload_2020-9-16_16-49-48.png
Workaround: This happens because non-development build binary signatures are corrupted. You can re-sign them yourself for now:

codesign -s - -f ./<buildname>.app/Contents/Frameworks/UnityPlayer.dylib
codesign -s - -f ./<buildname>.app/Contents/Frameworks/GameAssembly.dylib // Only on IL2CPP scripting backend
codesign -s - -f ./<buildname>.app/Contents/Frameworks/mono-2.0-bdwgc.dylib // Only on Mono scripting backend
codesign -s - -f ./<buildname>.app/Contents/Frameworks/MonoPosixHelper.dylib // Only on Mono scripting backend
codesign -s - -f ./<buildname>.app/Contents/MacOS/<gamename>

Expected resolution: The issue is fixed in 2020.2.0b14 and 2021.1.0a9.
Known issue: macOS Apple silicon standalone player builds don’t launch on Apple silicon devkits running macOS Big Sur beta 6. You will be greeted with a dialog like this:
6077313--700437--upload_2020-9-16_16-49-48.png
Workaround: This happens because Unity’s binaries are not currently signed. You can sign them yourself for now:

codesign -s - -f ./<buildname>.app/Contents/Frameworks/UnityPlayer.dylib
codesign -s - -f ./<buildname>.app/Contents/Frameworks/GameAssembly.dylib // This is only needed if you're using an older version of Xcode 12 beta. You don't need it if you use Xcode 12 beta 6 or newer.
codesign -s - -f ./<buildname>.app/Contents/MacOS/<gamename>

Expected resolution: This is fixed in 2020.2.0b5 for Apple silicon builds and in 2020.2.0b9 for universal builds.

Unity editor issues

Known issue: macOS Big Sur beta 10 and later hangs on Apple silicon hardware when using the Unity editor
Issue tracker: https://issuetracker.unity3d.com/product/unity/issues/guid/1285304/
Workaround: None at this time.
Expected resolution: The fix landed to 2021.1.0a7, 2020.2.0b12, 2020.1.15f1, 2019.4.16f1 and 2018.4.30f1. [Note that there have been initial reports that the fix is only functional on macOS 11.0 and not macOS 11.1 beta. ]( Unity on Apple silicon and Big Sur: Known issues and workarounds page-3#post-6544708)The fix for macOS 11.1 landed to 2021.1.0b2, 2020.2.2f1 and 2019.4.18f1. Since the macOS 11.1 issue is only present when running on the DTK and not the retail hardware, we decided to not backport this fix to 2018.4.

Fixed issues

Known issue: Unity Hub doesn’t work on Apple silicon hardware
Issue tracker: Unity Issue Tracker - Unity Hub doesn&#39;t work on Apple silicon devices
Expected resolution: This is fixed in the Unity Hub 2.4.0. You can download it from here: Start Your Creative Projects and Download the Unity Hub | Unity

Known issue: C# compiler crashes in Unity 2020.2 on Apple silicon hardware
Issue tracker: Unity Issue Tracker - C# compiler in Unity editor crashes when running on Apple silicon devices.
Workaround: Use Unity 2020.1 or earlier.
Expected resolution: This was fixed in Unity 2020.2.0a19.

Known issue: Visual Studio for Mac and Visual Studio Code crash on startup on Apple silicon hardware.
Workaround: Use a different code editor. Visual Studio Code has a beta with a fix: Exploration builds for apple silicon · Issue #104780 · microsoft/vscode · GitHub
Expected resolution: Visual Studio for Mac crash was fixed in one of macOS Big Sur beta releases, and Visual Studio code has a beta with Apple silicon support.

Known issue: Building Mac Standalone player with IL2CPP scripting backend fails if you’re running macOS Big Sur
Issue tracker: Unity Issue Tracker - [macOS Big Sur] Unable to build Player when using IL2CPP backend (&quot;l2cppcore.dll did not run properly!&quot;)
Workaround: None at this time.
Expected resolution: This is fixed in 2020.2.0a18. We are in process of backporting the fix to all supported Unity releases.

HDRP issues

Known issue: Any existing HDRP package fails to initialize renderer properly under macOS 11.0 due to incorrect version number check.
Workaround: While waiting for official package releases to update for 7.x and beyond, you can apply the fix yourself. The diff can be found at fix Mac platform detection to handle new major version (11.0) properly [skip ci] by aet · Pull Request #1014 · Unity-Technologies/Graphics · GitHub
Expected resolution: Updated HDRP packages will be rolling out in coming weeks.

10 Likes

THANK YOU!!! was coming out in cold sweats not being able to use it on the Apple Silicon Kit.

Be prepared for Apple to break it though by Beta 4 ! lol

No again thanks for fixing the Hub!!

1 Like

not running silicon by apple per se, but can confirm Hub beta works for me on Big Sur
and IL2CPP build is OK on 2020.2.0 a18, too

I see this is under Unity Player issues. I’m curious about the editor. Are there plans to compile the editor natively for Apple Silicon any time soon?

I have been planning to hold off on the new Macs, possibly even switching to PC because I’m not overly comfortable with doing my main body of work via emulation (I don’t mind a few programs but my main programs like Unity I want to be using natively). I’m excited to see what these new chips can do for Apple computers but running my daily driver software via emulation is a compromise I don’t think I want to make.

1 Like

We are working on porting the editor but it’s a much bigger task than porting the player due to all the third party libraries the editor depends on. Due to that, we don’t really know when it will be available yet.

3 Likes

Understood. Thank you

Oh switching off Metal on Unity Editor crashes the Apple Silicon as I’ve just discovered this very min !

so err do not switch of metal editor support folks
2020.2.0a19

1 Like

Probably an option which which needs to be removed when running on Apple Silicon as stuff like OpenGL will not be supported.

Say, as somebody using the test kit, how would you say Unity runs in general so far in Rosetta? Is it a major performance overhead or does it feel good enough to use daily?

it run’s extremely well IMO, from past experience with Rosetta first time round with PPC to Intel this one is so much better. Still with lot’s of issues but impressive non the less.

Saying that Beta 5 Big Sur and Unity a19 freezes and hangs when plugged into a 4K monitor, this just smells like a typical Beta problem and not Unity- works fine when using my trusty 10 year old 1080p screen.

By the way, Unity 2020.2.0a21 came out with support for targeting Apple silicon natively with macOS Standalone Player. Please give it a whirl and let us know if you run into any issues!

2 Likes

We’re going to make a change that forces Metal when running on Apple silicon.

1 Like

Unity: 2020.2a21
Xcode: Version 12.0 beta (12A8158a)
Mac OS: Big Sur 11.0

I met an issue with Xcode Archive in Legacy Xcode Build System, which seems to be the default option of Unity generated Xcode project. Archive failed immediately with the error below. Then I switched to the New Build System, and made the Archive successfully.

SetOwnerAndGroup username:staff /Users/username/Library/Developer/Xcode/DerivedData/appname-closjefepwcmnjcimoxvxbzbsqgk/Build/Intermediates.noindex/ArchiveIntermediates/appname/InstallationBuildProductsLocation/usr/local/lib/GameAssembly.dylib

    cd /Users/username/Documents/projectfolder/OSX

    /usr/sbin/chown -RH username:staff /Users/username/Library/Developer/Xcode/DerivedData/appname-closjefepwcmnjcimoxvxbzbsqgk/Build/Intermediates.noindex/ArchiveIntermediates/appname/InstallationBuildProductsLocation/usr/local/lib/GameAssembly.dylib

chown: /Users/username/Library/Developer/Xcode/DerivedData/appname-closjefepwcmnjcimoxvxbzbsqgk/Build/Intermediates.noindex/ArchiveIntermediates/appname/InstallationBuildProductsLocation/usr/local/lib/GameAssembly.dylib: No such file or directory

Command /usr/sbin/chown failed with exit code 1

That’s very interesting… Can you file a bug report with repro steps (and Xcode version, etc)? I was not able to reproduce it by just exporting Xcode project and building it.

I will see if I can reproduce it consistently. If so, I will file the bug report.

never mind.

Hello everyone! Does anybody know how to turn off the auto-update of Unity Hub? The installation of Unity Hub 2.4.0 beta 2 works splendidly. However, the moment I close the Unity Hub and start t again, it auto-updates to version 2.3.2, which does not work on Silicon.

Also, it appears Jobs/Burst/Collections package does not work on Apple Silicon presently. Installing the packages result in the errors shown below. Is this to be expected at the present moment?

You should be able to disable auto updates. However, Unity Hub 2.4.0 came out of beta today so you should just upgrade to that.

This is not expected. Can we have a bug report?

Is there any way we can get Unity 2020.2b1 to see the Xcode 12 Beta? I am attempting to build a project but it says it cannot find Xcode.

When I export to Intel 64 bit only I get a build error, linker command failed with exit code 1 clang

Does it say it cannot find installed Xcode?

Can you show the full error message?