Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(+1)

New Mac build is now available, it should support the M1 Silicon architecture!

Hi there. First off, it's really nice of you to do that. I suppose you just have to recompile the project using newer Mono SDK along with your development framework.


Unfortunately, your version 1.2 also does not work. It does not even start:



It does look like it's compiled and linked with  arm64 support as well:

$ file "Sadey\'s\ Sail"
Sadey's Sail: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64:Mach-O 64-bit executable arm64] 
Sadey's Sail (for architecture x86_64): Mach-O 64-bit executable x86_64 
Sadey's Sail (for architecture arm64): Mach-O 64-bit executable arm64

However, when I chmod 0755 the Content/MacOS/"Sadey's Sail" binary, macOS refuses to start it:

$ ./Sadey\'s\ Sail 
Killed: 9

Also, when right-clicking on the application and explicitly opening it, I get the visual confirmation that:

Apple could not verify “Sadey's Sail” is free of malware that may harm your Mac or compromise your privacy.

There is nothing I can do to remedy this.

It appears that the UnityEngine files in /Mac.app/Contents/Resources/Data/Managed are all dlls with the following architecture:

PE32 executable (DLL) (console) Intel 80386 Mono/.Net assembly, for MS Windows

I am not sure whether they are needed during runtime, but if they are, this certainly won't work.

Your direct library dependencies are for all architectures in the linked binary (Intel and ARM), however, your loaded resources after invocation of the binary are probably not.


Ahhh, finally got it running (highlighted the two commands which led to macOs finally invoking your game, at least from CLI):


You seem to have two issues:

  1. The packaged binary in the MacOS directory inside the Mac.app (should be named like the game's name) is not executable.
  2. Due to your way of ad-hoc self-signing the binary, the application directly gets quarantined by GateKeeper.

Not sure how you manage those topics from within your Unity Development environment, but it might be worthwhile looking into going forward. The first issue probably is only a setting, but the second one might be trickier.

Now, let's see if I can finally play your tiny gem ;).

Happiness on an M1 MBP:

Reach out to me if you feel like it, so we can make one final version that works for all without fiddling on the command line.