Kurz gesagt
- Für die Python-Nutzung müssen Sie in jedem Projekt das Python Editor Script Plugin aktivieren und den Editor neu starten.
- Unreal Editor verwendet die integrierte Python-Version 3.11.8; eine separate Python-Installation ist nicht erforderlich.
- Skripte lassen sich über die Konsole, das File-Menü, Starteinstellungen oder die Kommandozeile ausführen.
- Die Python-Unterstützung ist für die Editor-Automatisierung gedacht; in PIE, Standalone Game und einem gepackten Spiel funktioniert sie nicht.
Was erfahren Sie in diesem Leitfaden?
Sie erfahren, wie Sie Python in Unreal Editor aktivieren, ein einfaches Skript ausführen und die passende Automatisierungsmethode für Ihre Anforderungen auswählen. Die Dokumentation von Epic Games kennzeichnet die Python-Unterstützung als experimentell und empfiehlt insbesondere beim Veröffentlichen eines Produkts Vorsicht. Der hier beschriebene Einsatzbereich umfasst daher keine Gameplay-Logik, die während des Spiels ausgeführt wird, sondern Produktions- und Content-Management-Aufgaben im Editor.
Python kann als gemeinsame Skriptsprache dienen, um Produktionsabläufe mit verschiedenen 3D-Anwendungen miteinander zu verbinden. Auch in Unreal Editor lassen sich damit Asset-Management-Workflows automatisieren, zeitaufwendige Aufgaben wie die Erstellung von LODs für Static Meshes erledigen, Level-Inhalte prozedural platzieren und spezielle Editor-Oberflächen erstellen. Dies sind in der Dokumentation genannte Anwendungsbeispiele – sie bedeuten nicht, dass für jedes Projekt eine fertige Automatisierung verfügbar ist.
Voraussetzungen und Projektvorbereitung
Die Python-Funktionen werden über das Python Editor Script Plugin in Unreal Editor bereitgestellt. Das Plugin muss für jedes Projekt separat aktiviert werden; die Aktivierung in einem Projekt gilt nicht automatisch für andere Projekte. Epic Games empfiehlt außerdem, das Plugin Editor Scripting Utilities zu aktivieren, das vereinfachte APIs für gängige Editor-Aufgaben bereitstellt.
Der Editor verwendet Python 3.11.8, das im Plugin enthalten ist. Sie müssen also Python nicht zusätzlich auf Ihrem Computer installieren, wenn Sie Skripte nur in Unreal Editor ausführen möchten. Wer eine andere Python-Version einbetten möchte, muss im Betriebssystem die Umgebungsvariable UE_PYTHON_DIR festlegen und Unreal Engine aus dem Quellcode neu kompilieren. Für den Einstieg ist das nicht erforderlich.
Schritt für Schritt: Python aktivieren und das erste Skript ausführen
Öffnen Sie das Unreal-Projekt, in dem Sie arbeiten möchten. Wählen Sie im Hauptmenü Edit > Plugins.
Suchen Sie im Plugins-Fenster den Bereich Scripting und aktivieren Sie Python Editor Script Plugin. Entsprechend der Empfehlung von Epic Games können Sie auch Editor Scripting Utilities aktivieren.
Starten Sie Unreal Editor neu. Das Aktivieren des Plugins allein genügt nicht – vor dem Ausführen eines Skripts ist ein Neustart erforderlich.
Öffnen Sie für den ersten Test das Panel Output Log und schalten Sie die Konsoleneingabe in den Python-Modus. Alternativ lässt sich die Konsole mit der Taste für den Gravis-Akzent (
) öffnen. In diesem Modus werden eingegebene Python-Zeilen sofort ausgeführt; für mehrere Zeilen können Sie **Shift + Enter** verwenden. Ausgaben vonprint` erscheinen im Panel Output Log.Um ein Skript aus einer Datei auszuführen, wählen Sie im Hauptmenü File > Execute Python Script und suchen Sie das Skript auf Ihrem Computer. Bereits ausgeführte Dateien können Sie über die Liste Recent Python scripts erneut starten. Dabei wird die aktuelle Version der Skriptdatei geladen.
Wenn die Konsole im normalen Befehlsmodus ist, können Sie mit dem Befehl py auch eine Python-Zeile oder eine Datei ausführen. Das Dateibeispiel aus der Dokumentation lautet:
py "C:\MyScripts\my_script.py"Ersetzen Sie den Pfad im Beispiel durch den Speicherort des auszuführenden Skripts. Wenn das Skript zusätzliche Kommandozeilenargumente erwartet, können diese nach dem Dateinamen angegeben werden.
Wiederkehrende Aufgaben automatisieren
Wenn ein Skript bei jedem Start ausgeführt werden soll, bieten sich zwei Methoden an. Sie können die Skripte in den projektspezifischen Project Settings unter Plugins > Python in der Einstellung Startup scripts eintragen. Unreal Editor führt sie aus, nachdem die Standard-Startebene vollständig geladen wurde. Starten Sie den Editor nach den Änderungen neu; die Skripte werden beim nächsten Öffnen des Projekts ausgeführt.
Alternativ können Sie im Projekt oder Plugin im Ordner Content/Python eine Datei mit dem Namen init_unreal.py ablegen. Findet der Editor unter einem der konfigurierten Pfade ein Skript mit diesem Namen, wird es automatisch ausgeführt. Epic Games beschreibt diesen Ansatz für Fälle, in denen Personen, die mit denselben Inhalten arbeiten, bei jedem Editorstart gemeinsamen Startcode ausführen müssen.
Die Kommandozeile bietet sich für wiederholbare Vorgänge oder die Ausführung ohne geöffnete Benutzeroberfläche an. Bei der vollständigen Editor-Methode wird das Skript ausgeführt, nachdem das Projekt und die Standard-Startebene geladen wurden. Laut Dokumentation müssen dafür beide relevanten Plugins im Projekt aktiviert sein. Die Commandlet-Methode kann ohne Benutzeroberfläche ausgeführt werden und ist schneller. Sie lädt jedoch nicht automatisch Levels; wenn das Skript Level-Inhalte benötigt, muss das Laden separat berücksichtigt werden. Bei beiden Kommandozeilenmethoden wird Unreal Editor nach der Skriptausführung geschlossen.
Teams, die mit Blueprints arbeiten, können auch Python-Ausführungsknoten verwenden. Diese Knoten sind allerdings nur in speziellen Editor-Klassen wie Editor Utility Widget und Editor Utility Blueprint verfügbar. Für den Aufruf von Python aus einem Blueprint empfiehlt die Dokumentation den Knoten Execute Python Script. Eingaben an diesem Knoten können vor der Skriptausführung gelesen und Ausgaben nach der Ausführung gesetzt werden. Den Erfolg überprüfen Sie über den Ausgang Return Value; Fehlerdetails finden Sie im Output Log. Der Knoten führt keine Datei aus, sondern Python-Zeilen.
Häufige Fehler und Einschränkungen
Entscheidend ist die Unterscheidung zwischen Editor-Automatisierung und der Laufzeit des Spiels. Die Python-Umgebung ist in Unreal Editor verfügbar, nicht aber in Play In Editor (PIE), Standalone Game oder gepackten ausführbaren Dateien. Python sollte deshalb nicht als Gameplay-Skriptsprache betrachtet werden.
Ein weiterer häufiger Fehler: Das Plugin wurde nur in einem anderen Projekt aktiviert. Für jedes Projekt sind eine separate Aktivierung und ein Neustart erforderlich. Auch die Annahme, dass Skripte über Commandlets automatisch ein Level laden, kann zu Problemen führen. Wenn ein Skript in einem Blueprint-Knoten fehlschlägt, sollten Sie außerdem das Output Log auf Fehlermeldungen prüfen.
Nächste Schritte: Workflows für Architektur und Visualisierung
Für Teams aus den Bereichen Architektur, Innenarchitektur und Archviz bietet Python das Potenzial, wiederkehrende Aufgaben der Content-Verwaltung in Unreal Editor zu reduzieren und Produktionsabläufe mit verschiedenen 3D-Anwendungen miteinander zu verbinden. So entspricht etwa die Automatisierung eigener Asset-Management-Schritte oder der Platzierung von Inhalten in einem Level den in der Dokumentation beschriebenen Einsatzbereichen. Das bedeutet nicht, dass ein bestimmter BIM-Import oder die Kompatibilität mit einer bestimmten Software garantiert ist; die Integration muss auf die Projektinhalte abgestimmt werden.
Wählen Sie zunächst eine kleine Aufgabe, die sich im Editor überprüfen lässt, und testen Sie das Skript über die Konsole oder Execute Python Script. Wenn sich der Vorgang wiederholt, können Sie anschließend auf Startskripte oder die Ausführung über die Kommandozeile umsteigen. Berücksichtigen Sie bei der Produktionsplanung den Hinweis, dass die Python-Unterstützung experimentell ist, das Plugin pro Projekt aktiviert werden muss und Python nicht zur Laufzeit des Spiels verfügbar ist. Die Unreal Python 5.8 API Documentation ist eine Anlaufstelle, um die verfügbaren API-Bereiche und Typen einzusehen.
Quelle und Lizenz
Dieser Leitfaden wurde anhand des Leitfadens Scripting the Unreal Editor using Python und der Seite Unreal Python 5.8 API Documentation von Epic Games ins Türkische übertragen. Beide Quellen sind offizielle Dokumentationen von Epic Games.
Quellen
2 QuellenQuelltexte werden nicht neu veröffentlicht; kurze Zitate sind gekennzeichnet, der Rest ist eigene Zusammenfassung und Einordnung.
Für Architektur- und Visualisierungsteams in der Türkei liegt der konkrete Nutzen von Python vor allem darin, wiederkehrende Aufgaben und Schritte der Content-Verwaltung in Unreal Editor zu automatisieren. Besonders in Workflows mit verschiedenen 3D-Anwendungen kann ein gemeinsamer Skriptansatz im Team hilfreich sein. Für den Anfang ist es jedoch sinnvoller, eine klar abgegrenzte Editor-Aufgabe auszuprobieren, statt gleich eine umfangreiche Toolchain aufzubauen.
Dass keine zusätzliche Python-Installation erforderlich ist, erleichtert den Einstieg. Trotzdem sollten Teams beachten, dass das Plugin für jedes Projekt separat aktiviert werden muss und die Unterstützung experimentell ist. Die wichtigste Einschränkung: Python kann nicht während des Spiels verwendet werden. Büros und Studierende sollten diesen Unterschied und die Einstellungen ihres Projekts klären, bevor sie Skripte testen und in den Produktionsablauf übernehmen.
Häufige Fragen
Muss man Python zusätzlich installieren, um Python in Unreal Engine zu verwenden?
Unreal Editor enthält Python 3.11.8 im Python Editor Script Plugin. Wenn Sie Skripte nur im Editor ausführen, ist keine separate Python-Installation erforderlich.
Können Python-Skripte in Unreal Engine während des Spiels verwendet werden?
Nein. Die Python-Umgebung ist auf Unreal Editor beschränkt und kann nicht in PIE, Standalone Game oder gepackten ausführbaren Dateien verwendet werden.
Wie führt man ein Python-Skript in Unreal Editor aus?
Aktivieren Sie das Python Editor Script Plugin für das Projekt und starten Sie den Editor neu. Anschließend können Sie das Skript über die Konsole, das File-Menü oder die Kommandozeile ausführen. In speziellen Editor-Blueprints stehen außerdem Python-Ausführungsknoten zur Verfügung.



