Die Unreal Engine 5.2 bietet native Unterstützung für Apple Silicon und andere Entwicklungen für macOS

Michael Prinke, Technical Writer, und Zack Neyland, Lead Platform Programmer |
30. Mai 2023
Ab Unreal Engine 5.2 wird der Unreal Editor für macOS als Universal Binary erstellt und vertrieben und bietet native Unterstützung für Intel-basierte Macs der letzten und "Apple Silicon"-basierte Macs der aktuellen Generation in einem Paket. Wir erklären in diesem Tech-Blog, was das für Sie bedeutet, wie es sich auf Ihre Arbeitsabläufe in macOS auswirkt und welche zukünftigen Anforderungen macOS-Entwickler erfüllen werden müssen. Zudem erhalten Sie einen kurzen Überblick über einige der neuen Funktionen für macOS – wie den Zugriff auf mehr Assets vom Unreal Engine Marketplace und die experimentelle Unterstützung von Nanite – und schildern die Einschränkungen der Unreal Engine auf dieser Plattform.
Modell des A5 Cabriolet mit freundlicher Genehmigung von Audi Business Innovation, jetzt verfügbar für macOS als Teil des "Car Configurator"-Projekts auf dem Unreal Engine Marketplace.

Was sind Universal Binaries für macOS?

2020 stellte Apple seine proprietäre Serie von Prozessoren für zukünftige Mobilgeräte und Mac-Desktop-Computer vor: Apple Silicon. Für Mac-Geräte bedeutete das einen Übergang von Intels x86-64-Prozessoren auf eine ARM64-Architektur. Um diesen Übergang zu erleichtern, verwenden "Apple Silicon"-Macs den Befehlsübersetzer "Rosetta 2", um alte x86-Anwendungen auf der neuen Architektur auszuführen und Kompatibilität zu gewährleisten (auch wenn damit eine etwas größere CPU-Auslastung einhergeht).

Zukünftige Projekte sollten aber besser als Universal Binaries erstellt werden – also als Binärdateien, die sowohl x86-64- als auch ARM64-Slices enthalten. Auf diese Weise können Anwendungen über ein und dieselbe Distributable sowohl auf Intel-basierten Macs der letzten Generation als auch auf "Apple Silicon"-Macs nativ ausgeführt werden.
"Automotive Bridge Scene" jetzt über den Unreal Engine Marketplace für macOS verfügbar.

Wie gut wird Apple Silicon von der Unreal Engine 5.2 unterstützt?

Die Unreal Engine 5.0+ unterstützte bereits Universal Binaries für Macs, aber nur bei der Paketierung alleinstehender Builds von UE-Projekten. In der UE 5.1 führten wir eine Beta-Unterstützung zur Ausführung von Source-Builds der UE mit nativen ARM64-Binaries ein, aber verließen uns weiterhin auf Rosetta für Editor-Builds der UE. In der UE 5.2 führen wir nun offiziell vorgefertigte Universal Binaries für die Unreal Engine ein, wenn sie über den Epic Games Launcher heruntergeladen wird.
 

Wie wird sich das in Zukunft auf die Arbeit mit der Unreal Engine in macOS auswirken?

Nutzer, die den Unreal Editor aus dem Quellcode erstellen, werden einige zusätzliche Schritte zur Erstellung von Universal Binaries durchführen müssen. Diese sind unten angeführt. Der Arbeitsablauf von Nutzern des Unreal Editors sollte sich nur minimal verändern. Allerdings gibt es ein paar neue Anforderungen für das Veröffentlichen von Projekten und Plugins.

Erstens müssen Nutzer, die die Unreal Engine 5.2 auf macOS ausführen möchten, folgende Entwicklungsanforderungen erfüllen:
  • MacOS-Mindestversion: 12.5 Monterey oder neuer
  • Empfohlene macOS-Version: Aktuellstes macOS Ventura
  • Xcode-Mindestv: 14.1

Diese Voraussetzungen entsprechen den neuen Mindestanforderungen des App Stores.

Zweitens werden ab der Unreal-Engine-Version 5.2 Verkäufer, die Code-Plugins auf dem Unreal Engine Marketplace veröffentlichen, auch Universal Binaries anbieten müssen, um als kompatibel mit macOS zu gelten. Das wird sich vor allem auf Code-Plugins auswirken, die Bibliotheken von Dritten – wie "Amazon Web Services"-Bibliothek (lib.AWS) – verwenden, zum Beispiel: libaws-checksums.dylib.
 

Was bedeutet das für die Verfügbarkeit von "Unreal Engine Marketplace"-Assets für macOS?

Durch diese Änderungen und die zusätzlichen Anforderungen für Marketplace-Assets werden macOS-Nutzer der Unreal Engine 5.2 nun auf mehr Assets des UE Marketplace zugreifen können. Dazu gehören auch die kostenlosen Assets von Epic Games wie die Paragon-Asset-Pakete.
Auf dem Unreal Engine Marketplace sind nun mehr Assets für macOS verfügbar, wie dieser Muriel-Charakter aus "Paragon".

Wie kann ich die "Apple Silicon"-Unterstützung für den Unreal Editor nutzen?

Nutzer, die die Unreal Engine über den Epic Games Launcher auf macOS herunterladen, erhalten automatisch ein Distributable, das Universal Binaries enthält. Wenn Sie eine Instanz des Unreal Editors über den Launcher ausführen, wird es den Slice verwenden, der für die native Architektur Ihres Geräts angemessen ist. Das heißt, dass der Editor auf einem "Apple Silicon"-Gerät automatisch auf die native Unterstützung für Apple Silicon zurückgreifen wird.

Um bei der Erstellung des Editors aus dem Quellcode Universal Binaries zu erhalten, müssen Sie bei der Erstellung explizit die "x64+arm64"-Architektur auswählen, da über die Kommandozeile erstellte Builds standardmäßig auf eine x64-Architektur und Xcode-Builds auf die Architektur des Host-Geräts zurückfallen. Weitere Einzelheiten über diesen Prozess erfahren Sie in diesem Artikel der Dokumentation.
 

Was ist der Vorteil der nativen "Apple Silicon"-Unterstützung für den Editor?

Wenn Sie den Unreal Editor mit nativer Unterstützung für Apple Silicon ausführen, sollte die CPU-Auslastung geringer und die Performance besser sein, da die Übersetzung durch Rosetta 2 wegfällt.

Außerdem haben wir ein paar oberflächliche Verbesserungen des Nutzererlebnisses beim Ausführen des Editors auf "Apple Silicon"-Macs vorgenommen. Dazu gehören Problembehebungen bei der Handhabung des Fensterfokus und eine bessere Unterstützung der "Kerbe" im oberen Bereich von Mac-Bildschirmen der aktuellen Generation.
Ausführung der Szene "Infinity Blade: Grass Lands" vom Unreal Engine Marketplace auf dem Unreal Editor für macOS.

Was sind die Einschränkungen der macOS-Unterstützung der Unreal Engine?

Die Unterstützung für macOS ist ein fortlaufender Prozess und es gibt noch immer deutliche Einschränkungen beim Ausführen des Unreal Editors oder alleinstehender Projekte auf macOS-Geräten.
  • Nanite verlässt sich auf Image Atomics und Garantien des Vorwärtsfortschritts, die Apple M1-Geräte möglicherweise nicht unterstützen. Für M2-basierte Macs steht eine experimentelle Unterstützung zur Verfügung, die standardmäßig aber deaktiviert ist. Ihre Aktivierung kann Einschränkungen hervorrufen (siehe weitere Details unten). Wir hoffen, Nanite in Zukunft für "Apple Silicon"-Geräte verfügbar zu machen, doch momentan wird es nicht vollständig unterstützt.
  • Quixel-Assets, die darauf eingestellt werden, Nanite zu verwenden, werden auf Nicht-Nanite-Versionen dieser Assets zurückfallen.Darüber hinaus werden sie wie vorgesehen funktionieren.
  • Haar-/Fell-/Frisursträhnen werden auf macOS momentan nicht unterstützt, da Frisuren Image-Atomic-Unterstützung benötigen. Haarkarten und Meshes werden allerdings unterstützt.
  • Hardwarebeschleunigtes Raytracing wird auf macOS momentan nicht unterstützt.Aufgrund dieser Einschränkung kann Lumen auf Apple Silicon nur den Software-Raytracer verwenden.Software-Raytracing produziert im Vergleich zu Hardware-Raytracing qualitativ schlechtere Ergebnisse (zum Beispiel sind Reflexionen weniger detailreich und dynamische Meshes sind darin nicht sichtbar).
  • Anti-Aliasing-Performance: Der standardmäßige Anti-Alias-Modus, Temporal Super Resolution (TSR), verfügt auf Apple Silicon derzeit über einige Software- und Hardware-Einschränkungen, weshalb seine Laufzeitkosten weniger optimal sind als auf anderen Plattformen. Wir arbeiten an der Behebung und hoffen, bei zukünftigen Veröffentlichungen eine bessere Laufzeit-Performance zu erreichen. Wenn Sie in der Zwischenzeit einen anderen Anti-Alias-Modus nutzen möchten, suchen Sie in den Einstellungen Ihres Projekts nach "Anti-Aliasing" und wählen Sie eine alternative Methode aus.
 

Wie kann ich die experimentelle Nanite-Unterstützung auf M2-Geräten nutzen?

Als ein erster Schritt auf dem Weg zur langerwarteten vollständigen Nanite-Unterstützung auf macOS ist in den Versionen ue5-main und 5.2 auf GitHub nun eine experimentelle Unterstützung verfügbar (allerdings ist sie standardmäßig deaktiviert). Um sie zu aktivieren, müssen Sie folgende Anpassungen im Quellcode der Unreal Engine vornehmen:
  1. Stellen Sie in UEBuildMac.cs (Engine/Source/Programs/UnrealBuildTool/Platform/Mac/UEBuildMac.cs) PLATFORM_MAC_ENABLE_EXPERIMENTAL_NANITE_SUPPORT=1 ein. 
  2. Aktivieren Sie UE_EXPERIMENTAL_MAC_NANITE_SUPPORT in spirv_msl.hpp.
  3. Folgen Sie den Anweisungen in UEBuildMac.cs und erstellen Sie den ShaderConductor neu.
  4. Stellen Sie in Data Driven PlatformInfo.ini (Engine/Config/Mac/DataDrivenPlatformInfo.ini) bSupportsNanite=true und bSupportsUInt64ImageAtomics=true ein.

Aktivieren Sie diese Unterstützung nur mit Vorsicht, da sie über diverse Einschränkungen verfügt.Erstens funktioniert das nur auf M2-Hardware.Zweitens können Performance und Verlässlichkeit nicht garantiert werden, da diese Funktion noch nicht ausreichend getestet wurde. Wie bereits angegeben handelt es sich um experimentelle Unterstützung, die als Sprungbrett für eine umfassendere Unterstützung in zukünftigen Versionen und auf zukünftigen Generationen der "Apple Silicon"-Hardware dienen soll. Wir würden uns sehr über Ihr Feedback freuen! Bitte teilen Sie Ihre Meinung über die Epic Developer Community-Foren.

    Sichern Sie sich die Unreal Engine 5.2 für macOS noch heute!

    Bestehende Unreal-Engine-Nutzer können die Universal Binary der Unreal Engine 5.2 für macOS über den Epic Games Launcher herunterladen. Wenn Sie die Unreal Engine zum ersten Mal ausprobieren, klicken Sie auf den unten angegebenen Link. In jedem Fall hoffen wir, dass Ihnen die neuen Funktionen und Verbesserungen gefallen.