Ratgeber

Ihr Unity-Spiel von Windows aus für iOS bauen

Unity unter Windows kann iOS als Ziel wählen, kommt aber nur bis zur Hälfte. Es schreibt ein Xcode-Projekt, und nur Xcode auf einem Mac macht daraus eine App. Dieser Leitfaden zeigt, wie Sie das Projekt auf einen Mac bringen und archivieren. Er erklärt auch die Cloud-Builds von Unity, die ganz ohne Mac auskommen.

Was Unity unter Windows kann, und was den Mac braucht

Die Seite von Unity zur iOS-Einrichtung sagt, dass Xcode nur für macOS verfügbar ist. Wenn Ihr Rechner also nicht unter macOS läuft, können Sie die App nicht lokal bauen. Unity baut iOS in zwei Schritten. Unity schreibt ein Xcode-Projekt, dann baut Xcode daraus die App.

Unter Windows bekommen Sie nur den ersten Schritt. Die Option Run in Xcode ist nur sichtbar, wenn Unity unter macOS läuft. Der zweite Schritt leistet echte Arbeit. Laut Doku von Unity führt Xcode dort IL2CPP aus, das den C++-Code aus Ihren Skripten zu libGameAssembly.a kompiliert.

Schritt 1: das Xcode-Projekt unter Windows exportieren

  • Fügen Sie Ihrem Editor in Unity Hub das Modul iOS Build Support hinzu.
  • Öffnen Sie File, dann Build Profiles, und machen Sie iOS zur aktiven Plattform.
  • Klicken Sie auf Build und wählen Sie einen leeren Ordner, zum Beispiel Builds/iOS.

Der Ordner enthält Unity-iPhone.xcodeproj. Die Doku von Unity beschreibt zwei Targets darin. Unity-iPhone ist ein schlanker Launcher, und UnityFramework enthält die Laufzeit und Ihren Code. Lassen Sie die Ordner Data und Libraries in Ruhe, denn Unity erneuert sie bei jedem Build.

Schritt 2: auf den Mac kopieren

Windows liefert tar seit Windows 10 Build 17063 mit. Der scp-Client gehört zu OpenSSH für Windows, einem optionalen Feature seit Build 1809. Wenn scp fehlt, fügen Sie OpenSSH Client unter Optionale Features hinzu. Packen Sie den Ordner, kopieren Sie ihn über Tailscale und entpacken Sie ihn auf dem Mac:

cd Builds
tar -czf ios-build.tgz iOS
scp ios-build.tgz you@your-mac:~/
ssh you@your-mac "mkdir -p ~/MyGame && tar -xzf ~/ios-build.tgz -C ~/MyGame"

Unter Linux oder WSL schickt rsync nur das, was sich seit der letzten Kopie geändert hat. Das hilft nach kleinen Änderungen an einem großen Spiel.

rsync -az --delete Builds/iOS/ you@your-mac:~/MyGame/iOS/

Git geht auch, aber ein voller Export ist groß und ändert sich bei jedem Build. Die meisten Teams kopieren den Export und nutzen git für das Unity-Projekt.

Schritt 3: auf dem Mac archivieren

Sie können das .xcodeproj über den Bildschirm des Macs in Xcode öffnen. Wählen Sie das Scheme Unity-iPhone und Any iOS Device, dann Product, dann Archive. Oder Sie bleiben per SSH im Terminal. Listen Sie zuerst die Targets und Schemes auf:

cd ~/MyGame/iOS
xcodebuild -list -project Unity-iPhone.xcodeproj

Dann archivieren Sie mit dem Launcher-Scheme. CODE_SIGNING_ALLOWED=NO erzeugt ein Testarchiv ohne Zertifikat. Das beweist, dass das Projekt kompiliert.

xcodebuild -project Unity-iPhone.xcodeproj -scheme Unity-iPhone \
  -configuration Release -destination 'generic/platform=iOS' \
  -archivePath build/Game.xcarchive archive \
  CODE_SIGNING_ALLOWED=NO

Zum Ausliefern lassen Sie dieses Flag weg und signieren mit Ihrem Team. Dann exportieren Sie mit -exportArchive und einer ExportOptions.plist mit der Methode app-store-connect. Unser Leitfaden zum Veröffentlichen enthält die vollständigen Befehle zum Signieren und Hochladen.

Manche Spiele nutzen den External Dependency Manager von Google für iOS-SDKs. Er schreibt eine Podfile und führt nach dem Build CocoaPods aus. Wenn Ihr Export eine Podfile hat, führen Sie auf dem Mac pod install aus. Dann bauen Sie den .xcworkspace statt des .xcodeproj. CocoaPods ist nicht vorinstalliert, also fügen Sie es mit brew install cocoapods hinzu.

Was wir getestet haben, und was nicht

Unity läuft in CI nicht ohne Lizenz, also haben wir kein echtes Unity-Spiel exportiert. Stattdessen haben wir die Mac-Hälfte an einem Ersatzprojekt mit derselben Form getestet: ein Launcher-App-Target und ein Framework-Target. Am 19. Oktober 2026 hat GitHubs Runner macos-26 es mit Xcode 26.6 archiviert. Dann hat ein Windows-Runner es mit dem tar von Windows gepackt. Ein zweiter Mac hat diese Kopie entpackt und erneut archiviert.

Xcode 26.6
Build version 17F113
    Schemes:
        Game-iPhone
        GameFramework
** BUILD SUCCEEDED **
** ARCHIVE SUCCEEDED **
scp.exe C:\Windows\System32\OpenSSH\scp.exe
OpenSSH_for_Windows_9.5p2, LibreSSL 3.8.2
** ARCHIVE SUCCEEDED **

Ein echtes Spiel dauert viel länger, weil der Mac den ganzen IL2CPP-Code kompiliert. Wenn ein Build bei einer .sh-Datei mit Permission denied abbricht, hat die Kopie das Ausführungsrecht verloren. Führen Sie chmod +x auf dieser Datei aus und bauen Sie erneut.

Die Cloud-Option: Unity Build Automation

Die Doku von Unity empfiehlt Build Automation für alle ohne Mac. Es baut Ihr Spiel auf den Servern von Unity. Seit dem 1. März 2026 enthält Unity 100 Mac-Build-Minuten im Monat. Danach kostet eine Standard-Mac-Maschine laut dem Artikel von Unity zu den DevOps-Gebühren $0.07 pro Build-Minute.

Wer dafür keinen Mac mieten sollte

  • Ein paar Builds im Monat. Die 100 kostenlosen Mac-Minuten von Unity Build Automation reichen Ihnen vielleicht, ganz ohne Mac.
  • Builds bei jedem Commit. Ein CI-Dienst oder ein selbst gehosteter macOS-Runner passt besser, als Ordner von Hand zu kopieren.
  • Tägliche Arbeit an iOS. Wenn Sie jeden Tag einen Mac brauchen, kann ein Kauf über ein Jahr günstiger sein.

Wann ein gemieteter Mac passt

Manche Probleme brauchen ein offenes Xcode. Signierfehler, Link-Fehler von Plugins und Abstürze im Simulator lassen sich von Hand leichter beheben. Ein Tagespass von MacRun ist ein dedizierter M6 Mac mini für $15, eine Woche kostet $59. Xcode 27.1 ist der Standard, und Xcode 26.6 ist auch installiert. Sie verbinden sich von Windows aus mit Tailscale und einem beliebigen VNC-Viewer.

Der Mac wird gelöscht, wenn der Pass endet. Laden Sie vorher Ihre .ipa herunter und pushen Sie Ihre Änderungen. Für ein echtes iPhone schicken Sie den Build über TestFlight, denn ein Remote-Mac sieht kein Telefon an Ihrem PC. Unser Leitfaden zum Bauen von iOS-Apps unter Windows vergleicht Unity mit anderen Engines.

Häufige Fragen

Kann Unity eine iOS-App unter Windows bauen?

+

Nur zur Hälfte. Unity unter Windows schreibt das Xcode-Projekt. Laut Doku von Unity ist Xcode nur für macOS verfügbar, also wird die App selbst auf einem Mac oder in Unity Build Automation gebaut.

Wie baue ich ein Xcode-Projekt von Unity auf der Kommandozeile?

+

Führen Sie auf dem Mac xcodebuild -list aus, um die Schemes zu sehen. Dann führen Sie xcodebuild archive mit dem Scheme Unity-iPhone und einem generischen iOS-Ziel aus. Exportieren Sie das Archiv mit -exportArchive, um eine .ipa zu bekommen.

Welche Xcode-Version braucht Unity?

+

Die Doku von Unity 6.6 empfiehlt Xcode 16 oder neuer und unterstützt iOS 15 und höher. Ein Mac von MacRun hat Xcode 27.1 als Standard, und Xcode 26.6 ist auch installiert.

Was kostet Unity Build Automation für iOS?

+

Laut dem Artikel von Unity zu den DevOps-Gebühren, gültig ab 1. März 2026, sind 100 Mac-Build-Minuten im Monat enthalten. Danach kostet eine Standard-Mac-Maschine $0.07 pro Build-Minute.

Wie kopiere ich einen iOS-Build von Unity von Windows auf einen Mac?

+

Packen Sie den Export-Ordner mit tar, das Windows seit Windows 10 Build 17063 mitliefert. Kopieren Sie ihn mit scp und entpacken Sie ihn auf dem Mac. Unter Linux oder WSL schickt rsync nur das, was sich geändert hat.

Kann ich meinen iOS-Build von Unity von einem Remote-Mac aus auf einem iPhone testen?

+

Nicht per USB, denn ein Remote-Mac sieht kein Telefon, das an Ihrem PC hängt. Laden Sie den Build zu TestFlight hoch und installieren Sie ihn von dort auf dem Telefon.

Passende Ratgeber