I'm doing a Mac build for Himeko Sutori. I finally got everything set up. It was such a freaking pain.
AWS recently made Macs instances available and I thought I would just set up a Mac instance on AWS. Easy, right? Set up a VPN, share my files with the Mac, run Unreal Build Tool, and I've got myself a Mac build. Except Egypt blocks VPNs. So without a connection to the outside world, I have to run the build on actual local hardware. I looked into buying a Mac, but imports in Egypt being as they are, Macs of any kind cost 30-50% more than they do in the US. And because of that, Egyptians have unrealistic expectations for how much they should be able to sell their used Macs for. I'm not about to pay $1000 for a 6-year-old MacBook. So I said, "Screw it," and got my Hackintosh game on. Now I've got macOS Catalina in VirtualBox using half my RAM and CPU cores. And networking between Windows and macOS is a pain even without the extra complexity of running a virtual Mac.
Eventually I got it all set up, tried building the code, and now I find out that I have to rewrite sections of it because clang and XCode (oh--and I had to find an XCode build with the right OSX SDK for building Unreal Engine 3 and that would run on a slightly outdated OS that I don't want to upgrade because I don't know if it will break VirtualBox)--clang and XCode won't compile stuff that Visual Studio is fine with. So now I actually have to learn something about C++ so I can fix the code and make it compile.
Edit: Oh yeah, and I forgot. It's not like you can just click the "Build" button and it works. Epic has this thing called the Unreal Build Tool that you have to build first, and it sets up everything else for compiling the C++ for the desired platform. I didn't have the settings for making UBT start a Mac build, and I've been working on Himeko Sutori for so long now that I no longer have access to the UDN and the documentation in it, and no one at Epic remembers anything about UE3, and they're not answering my emails. I got lucky and found out that I didn't delete a sample UBT project file when I set up UE3 five years ago, and I was able to copy that file and change a couple of entries in it to make UBT compile my game for Mac.
Moral of the story: It's always going to be harder than you expect. Fixing one issue is going to cause another issue. Murphy's Law is perhaps nowhere more evident than in software development.