As title, wonder if this is possible, thanks a lot.
Mac is a PC
On mac you can build mac mono + il2cpp
Linux mono + il2cpp (I think?)
Windows mono (il2cpp only on windows iirc)
But I don’t get the meaning of “Mac is a PC”
Assuming that by “PC” you mean Windows based PCs then yes - if you use mono as a scripting backend. IL2CPP requires building on Windows
PC stands for Personal Computer.
You are confusing PC for desktop.
Desktop, or laptop is a PC. Technically even tablets and smartphones are PCs.
Macbook Air M1 for example is a laptop, not desktop. But still is a PC.
Your corrected question should be along the line, if
- Can I build windows/Linux games on mac M1?
Or - Can I build on mac M1 games for android mobile devices?
Etc.
If you run Windows envirement on the mac, then you can run Windows applications, like Unity. Meaning, you can build games for Windows.
Seems I have to get a Windows PC to build my game (developing using M1) for Windows/Linux with IL2CPP, which I suppose the way to ship my game to these platforms. Please correct me if I’m wrong, thanks.
You’re correct. IL2CPP requires a Windows device. You may be able to make use of Azure or some other service instead of that, though I’m only familiar doing that with services for Mac deployment, not Windows.
Would Parallels for the Mac allow IL2CPP compiling?
I’d assumed that Unity could build for any platform regardless of which platform it was running on as that was always a USP. I guess that is only true with the Mono backend and I’d never actually needed to try since I had access to both Mac and Win platforms. Looking at the docs it does say that IL2CPP requires some system native access, but it fails to elaborate any more than that.
A quick google doesn’t bring up anything, but it might be worth grabbing the free trial of Parallels and seeing if you can make a IL2CPP build from it. There are alternative emulators/virtualisation apps for the Mac, but my understanding is that Parallels was provided much more developer access/information to the M1 chips, making it the best choice for anything serious.
In the meantime I don’t see any reason not to just make mono window builds from the Mac, at least testing purposes. Then once you are committed to the project and want to release for Windows you could try a cloud building system to get IL2CPP when you need it, or just buy a cheap PC, which ultimately will be better as it will provide a much more efficient means of testing and debugging.
Amazingly detail explanation! Thanks so much and I probably go for a Windows PC, like I can actually test or debug any potential issue on that platform.
You can use Parallels on Apple silicon Macs to run Windows and Unity, and build with IL2CPP for Windows. However, you still definitely need a device to test your game on as testing it on a VM is not going to be great.
As far as I know Unity does pretty much does that, wherever there is support from the target platform for the development platform. Building for iOS requires that you have access to a Mac, because that’s all Apple provides their build tools for. A bunch of platforms I work on only provide tools on Windows.
A build server is definitely an option to get around some of that. Unity Cloud Build is an option there, or you can set up an Azure Pipeline with a spare machine you might happen to have available.
The real catch is having devices to run stuff on.