Bold move, considering how broken the Metal drivers are at the moment.
Despite these limitations, OpenGL at least works, and doesn't cause crashes on what happen to be the only dedicated GPUs Apple uses in recent Mac models…
Broken? Nah.
Incomplete? Yeah.
Metal has been the default in UE4 for Mac since its introduction in UE4 4.11, removing it is hardly bold at this point because most problems we've had are resolved and it is substantially better than the OpenGL support it replaces. The Editor is in good shape and support for advanced rendering features is increasing. For our use cases Metal is actually pretty complete in 10.12 (10.11 lacked a few things) - there's no omission that causes us major problems. Other developers' mileage will vary and I can't speak for them. Consequently it is no longer worth dividing our development effort as only Metal will progress from here.
[doublepost=1487548801][/doublepost]
Most
recent statement from Cyan why the Mac version of Obduction – an UE4 game, in case you forgot – is still not coming:
Their statement makes it clear that it *is* coming and that having worked with us (Epic) & Apple there are only a few issues left to deal with. Cyan are still working with us & Apple to get Mac Obduction ready.
The statement suggests the current problems are with the AMD drivers - but don't assume that means it is AMD or Apple's fault - there's a lot of places that things can go wrong in a modern game renderer. As I've posted about before - working with Cyan on Obduction helped identify and fix a whole range of issues within UE4's Metal support that ended up making UE4 4.14 and now 4.15 much better releases than they otherwise would have been. Not everything is Apple/AMD/Nvidia/Intel's fault.
Again - I can only speak for UE4, Feral et. al. may have other issues, but ours really stem from not having shipped enough titles. That's been the frustrating part of the last few months, but once we get over this initial hump and ship a few I hope (& quietly expect) that it will get easier in future.
[doublepost=1487549899][/doublepost]
Yeah, I wish they would have stayed with OpenGL and Vulcan.
I have a bone to pick with the assumption that Vulkan would have fixed things. Epic are committed to Vulkan through Khronos but it was standardised well over a year after Metal first shipped on iOS and more than six-months after we started work on Mac Metal support. Consequently the present UE4 Vulkan support is well behind Mac Metal support, so it couldn't possibly solve any issues in Mac UE4. It would not solve anything feature-wise either, as the features that Metal lacks are *optional* in the Vulkan spec. so vendors are not required to implement them so they could still be absent on Mac. That's how MoltenVK functions - it omits the optional functions that can't be implemented on top of Metal but is still a perfectly valid implementation of Vulkan.
I have *considerably* more sympathy for the idea that had Apple continued development of OpenGL the transition might not have been so hard. OTOH given what I know of the OpenGL stack on Mac I'm not entirely sure that it would have been feasible.
[doublepost=1487550792][/doublepost]
I have tested World of Warcraft under OSX/Metal API vs the same hardware under Boot Camp. OSX/Metal is a BIG improvement over OSX/Open GL, but doesn't beat Direct X under Windows. The difference is still significant enough to make you want dual boot. I'd say about 10 - 15 frames in difference (same game, same hardware).
Percentage of Windows is a bit more enlightening - Metal is much closer to Windows D3D than Mac OpenGL was in UE4. How much varies by project & vendor, but it can be ~10% difference. Some of that can even be accounted for on Macs with Retina displays - though accounting for & addressing are different things. Closing this gap remains a focus.
Apple needs to get it through their thick heads that gaming is a HUGE part of entertainment these days and will continue to grow in the future.
Question: why would Apple develop Metal & work with Epic et. al. if they weren't aware of this?