Die folgende Anleitung ist für Nutzer gedacht, die Unreal Engine aus ihrem Quellcode heruntergeladen und gebaut haben, den wir auf GitHub zur Verfügung gestellt haben. Weitere Informationen finden Sie unter Herunterladen des Unreal-Engine-Quellcodes
Wenn Sie den neuesten Code der Unreal Engine (UE) herunterladen, werden Sie vielleicht feststellen, dass keine Visual Studio (VS) – oder Xcode–Projektdateien zum Kompilieren und Ausführen der Engine oder von Beispielspielen enthalten sind. Sie müssen ein Script ausführen, das Projektdateien generiert, die Sie laden müssen:
Führen Sie die Datei
GenerateProjectFiles.bataus, die sich im Stammverzeichnis befindet.Das Projekt-Generator-Werkzeug analysiert die Modul- und Ziel-Build-Dateien und generiert neue Projektdateien. Das Abschließen kann einige Zeit dauern.
Für VS Entwickler wird dadurch eine UE5-.sln-Datei im selben Verzeichnis erstellt. Sie werden diese Lösungsdatei verwenden, um UE-Spiele und -Programme zu bauen und auszuführen. Für Ihre Zeit kompilieren empfehlen wir, die Entwicklung auf der Win64 Plattform zu verwenden.
Standardmäßig generieren wir buildbare Projekte für alle verfügbaren Plattformen, für die wir SDKs erkannt haben, damit Sie Konsole und Mobilgerät Plattformen bauen und debuggen können. Wenn Sie Projekte nur für die aktuelle Plattform generieren möchten, auf der Sie arbeiten (Beispiel Windows), führen Sie GenerateProjectFiles.bat mit dem Argument -CurrentPlatform aus. Die Projektdateien werden etwas leichter sein.
Denken Sie daran, GenerateProjectFiles.bat nach der Synchronisation neuer Code-Änderungen aus der Quellkontrolle erneut auszuführen. Wenn Sie das vergessen, werden Sie wahrscheinlich auf Probleme beim Kompilieren oder Ausführen Ihres Spiels treffen.
Wenn Sie lokal an Modulen Änderungen vornehmen (z. B. Quelle hinzufügen oder entfernen), sollten Sie GenerateProjectFiles.bat erneut ausführen. Wir empfehlen, keine Änderungen an Projektdateien manuell vorzunehmen.
Befehlszeilenoptionen
Der Projekt- Generator hat über einige optional Befehlszeilen-Argumente, die Sie verwenden können, wenn Sie die generierten Projektdateien an Ihre mehr Personalisieren möchten. In der Regel sind diese Optionen nicht erforderlich oder empfohlen.
| Option | Beschreibung |
|---|---|
| Generiert buildbare Projekte nur für die aktuelle Desktop-Plattform (Windows oder Mac), anstatt für alle erkannten verfügbaren Zielplattformen. |
| Generiert Projekte in einem in VS 2022 nativen Format. Wenn diese Option festgelegt ist, wird der Visual C++ 2022-Compiler zum Kompilieren verwendet. |
| Fügt Header und andere Dateien aus Bibliotheken von Dritten ins Projekt ein. Das kann nützlich sein, wenn Siei Symbole und Dateien in Visual Assist für PhysX, Steamworks oder Bink beispielsweise sehen wollen. Allerdings dauert das Laden der Projektdateien länger. |
| Weist den Projekt-Generator an, Projekte zu erstellen, die nur Code und Inhalt für den angegebenen Projektnamen umfassen. Alle anderen erkannten Projekte werden nicht berücksichtigt. Stellen Sie sicher, dass Sie auch einen Projektnamen angeben. Beispielsweise würde |
| Überspringt die Generierung von Intellisense-Daten, die für Auto-Vervollständigung und Fehler-Squiggles in der IDE verwendet werden. |
| Umfasst Engine Dokumentation für alle Sprachen. Standardmäßig umfassen wir nur Dateien für Englisch im Projekt. |
| Wenn spezifiziert, werden nur öffentlich Header Dateien in die generierten Projekte für Engine-Module aufgenommen. Standardmäßig sind alle Quelldateien für Engine-Module enthalten. Dadurch können Sie laden verkürzen, aber es könnte schwieriger werden, im Engine-Code zu navigieren. |
| Weist die |
| Überschreibt die Standardmenge an Plattformen, für die lauffähige Projekte generiert werden sollen, und generiert stattdessen Projekte für die von Ihnen angegebene Plattform oder die angegebenen Plattformen. Sie können mehrere Plattformen angeben, indem Sie diese durch ein '+'-Zeichen trennen. Dies führt auch dazu, dass die generierte Lösung ein Suffix erhält, das den Plattform oder die Plattformnamen enthält. |
Zusätzliche Informationen
Das GenerateProjectFiles.bat-Script ist ein simpler Wrapper um das Unreal Build Tool herum, das in einem speziellen Modus gestartet wird, der Projektdateien baut, anstatt ausführbare Programmdateien zu bauen. Sie ruft das Unreal Build Tool mit der Option-ProjectFiles auf.
Das UE-Bau-System benötigt keine Projektdateien, um den Code zu kompilieren. Das Unreal Build Tool findet Quell-Dateien immer mithilfe von Modul- und Ziel-Build-Dateien. Wenn Sie aus diesem Grund eine neue Quelle hinzufügen und eine kompilieren auslösen, wird die neue Quelle möglicherweise in den Build aufgenommen, obwohl die Projektdateien noch nicht aktualisiert wurden.
Bei VS Projekten heißt die generierte Lösungsdatei UE5.sln und wird im Stammverzeichnis von UE gespeichert. Die Projektdateien werden jedoch im Verzeichnis UNREAL_ENGINE_ROOT/Engine/Intermediate/ProjectFiles/ gespeichert. Es ist Zeit sicher, diese Dateien zu löschen und Projekte erneut generieren, allerdings könnten Sie dabei bestimmte projektspezifische Einstellungen verlieren, z. B. Befehlszeilen-Argument, wenn Sie diese Dateien löschen.
Die Vorteile von Generate Projekt Files
Es gibt sicherlich Vor- und Nachteile, aber hier sind einige wichtige Gründe, warum wir uns entschieden haben, Projektdateien für die UE zu erstellen:
UE ist darauf ausgelegt, auf vielen Plattformen zu arbeiten, aber verschiedene Teams arbeiten eventuell zeitweise nur mit einigen wenigen bestimmten Plattformen. Durch das Erstellen von Projektdateien können wir plattformspezifische Dateien auslassen und Konfigurationen erstellen, die nicht relevant sind.
Die UE-Programmierungsmethode umfasst viele Untermodule und es war uns sehr wichtig, dass wir es Programmierern so einfach wie möglich machten, neue Module hinzuzufügen.
Der Projektgenerator gibt äußerst genaue Definitionen aus und umfasst Pfade, die von VS Intellisense verwendet werden, während Sie am UE-Code arbeiten.
Das Einrichten eines neuen Projekts ist viel einfacher, wenn die Projektdateien automatisch generiert werden.
Wir möchten mehrere Plattformen und Entwicklungsumgebungen unterstützen (zum Beispiel, VS und Xcode). Die manuelle Pflege mehrerer Projektdateien ist fehleranfällig und mühsam.
Wir möchten Programmierern ermöglichen, hochgradig angepasste Projektdateien zu generieren.
Die Verzeichnis-Struktur der Quelldateien wird automatisch in der Projekt-Datei-Lösungshierarchie gespiegelt. Das ist sehr hilfreich beim Durchsuchen von Quelldateien, war bei manuell erstellten Projekten aber schwierig zu warten.
UE-Bau-Konfigurationen sind sehr komplex und lassen sich nur schwer manuell warten. Der Projektgenerator macht dies für Entwickler fast transparent.
Andere Dateien, die mit Generate Projekt Files hinzugefügt werden
Neben dem Quellcode für C++-Module fügen wir den generierten Projekten automatisch mehrere andere Dateien hinzu. Das soll es einfach machen, diese Dateien bei der Suche zu finden. Einige Beispiele für andere Dateien, die den generierten Projekten hinzugefügt werden:
Shader-Quellcode (
*.usf-Dateien)Engine-Dokumentationsdateien (
*.UEN-Dateien)Programmkonfigurationsdateien (
*.ini-Dateien)Lokalisierungsdateien (
*.int-Dateien)Ressource-Dateien und Manifeste (
*.rc, .manifest)Bestimmte externe (nicht generierte) Projektdateien (z. B. UnrealBuildTool und Clean)
Projektdateien und Quellcodeverwaltung
Projektdateien sind nicht in die Quellkontrolle eingecheckt. Das Zusammenführen von Quellkontrolle-Konflikten mit Projektdateien war mühsam und äußerst fehleranfällig. Das neue System vermeidet dies vollständig, indem es Projektdateien als reine Zwischendateien behandelt. Außerdem sind Lösungen für jedes Team, das an unterschiedlichen Spielen arbeitet, unterschiedlich. Die Projektdateien, die wir bei episch verwenden, sind sehr wahrscheinlich ohne Modifikationen für andere Teams nicht nützlich.
Debugging des Projekt-Generator-Codes
Hier sind einige nützliche Tipps, die Ihnen beim Debuggen von Änderungen helfen, die du am Code des Generators vorgenommen hast:
Ändern Sie Ihr Startprojekt zu UnrealBuildTool.
Setze den Befehlszeilenparameter für das Debugging auf
-ProjectFiles.Legen Sie das Arbeitsverzeichnis für
UNREAL_ENGINE_ROOT/Engine/Source/auf Ihren lokalen Pfad fest.Kompilieren und debugge wie normal.
Seien Sie sich bewusst, dass der Projekt- Generator die Projektdateien löschen kann, die Sie in VS verwenden, während Sie arbeiten. Aus diesem Grund ist es manchmal nützlich, das Unreal Build Tool Projekt direkt in VS zu laden, anstatt über die reguläre UE-Lösungsdatei zu debuggen.
Mehrere Konfigurationen bauen
Sie können die Batch Build -Funktion in VS verwenden. Sie finden dies im Build Menü. Wählen Sie einfach alle Konfigurationen aus, die Sie kompilieren möchten, und klicken Sie auf bauen.
Integration mit UnrealVS-Erweiterung
Die UnrealVS-Erweiterung für VS enthält eine Schaltfläche in der Werkzeugleiste, auf die Sie klicken können, um Projektdateien für die aktuell geladene Lösung neu zu generieren.
Sie können dieser Funktion auch eine Tastenkombination zuweisen. Öffnen Sie in VS Werkzeuge > Optionen > Umgebung > Tastatur, und suchen Sie dann nach UnrealVS.RefreshProjects.
Beachten Sie, dass diese Funktion erst aktiviert wird, nachdem Sie eine Lösung geladen haben (da das Werkzeug wissen muss, für welche Codeverzweigung es Projekte erstellen soll). Wenn Sie noch keine UE5.sln-Datei generiert haben, müssen Sie zuerst das Script GenerateProjectFiles.bat direkt ausführen.