Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Einführung in die Editorentwicklung

Auf dieser Seite erfahren Sie:

  • Die Designentscheidungen hinter dem Godot-Editor.

  • Wie man effizient am C++-Code des Godot-Editors arbeitet.

Diese Anleitung richtet sich an aktuelle oder zukünftige Engine-Mitwirkende. Um Editor-Plugins in GDScript zu erstellen, siehe stattdessen Erstellen von Plugins.

Siehe auch

Wenn Sie neu bei Godot sind, empfehlen wir Ihnen, Godots Design-Philosophie zu lesen, bevor Sie fortfahren. Da der Godot-Editor ein in C++ geschriebenes Godot-Projekt ist, gilt ein Großteil der Philosophie der Engine auch für den Editor.

Technische Entscheidungen

Der Godot-Editor wird mit Godots Renderer und dem UI-System gezeichnet. Er ist nicht auf ein Toolkit wie GTK oder Qt angewiesen. Dies ist ähnlich wie bei Software wie Blender. Während die Verwendung von Toolkits es einfacher macht, ein "natives" Aussehen zu erreichen, sind sie auch ziemlich schwerfällig und ihre Lizenzierung ist nicht mit der von Godot kompatibel.

Der Editor ist vollständig in C++ geschrieben. Er kann keinen GDScript- oder C#-Code enthalten.

Verzeichnisstruktur

Der Code des Editors liegt vollständig im Ordner editor/ des Godot Quellcode-Repositorys.

Einige Editor-Funktionen werden auch über Module implementiert. Einige von ihnen sind nur in Editor-Builds aktiviert, um die Binärgröße von Exportvorlagen zu verringern. Siehe den Ordner modules/ im Godot Quellcode-Repository.

Einige wichtige Dateien im Editor sind:

Editor-Abhängigkeiten in scene/-Dateien

Wenn Sie an einem Editor-Feature arbeiten, müssen Sie möglicherweise Dateien in Godots GUI-Nodes ändern, die Sie im Ordner scene/ finden.

Eine Regel, die Sie beachten sollten, ist, dass Sie keine neuen Abhängigkeiten zu editor/-Includes in anderen Ordnern wie scene/ einführen dürfen. Dies gilt auch, wenn Sie #ifdef TOOLS_ENABLED verwenden.

Um die Codebasis übersichtlicher und in sich geschlossener zu gestalten, ist die zulässige Reihenfolge der Abhängigkeiten:

  • editor/ -> scene/ -> servers/ -> core/

Das bedeutet, dass Dateien in editor/ von Includes aus scene/, servers/ und core/ abhängen können. Aber während zum Beispiel scene/ von Includes aus servers/ und core/ abhängen kann, kann es nicht von Includes aus editor/ abhängen.

Zur Zeit gibt es einige Abhängigkeiten zu editor/-Includes in scene/-Dateien, aber sie sind dabei, entfernt zu werden.

Tipps zur Entwicklung

Um schnell mit dem Editor arbeiten zu können, empfehlen wir, ein Testprojekt zu erstellen und es nach dem Kompilieren des Editors über die Kommandozeile zu öffnen. Auf diese Weise müssen Sie nicht jedes Mal, wenn Sie Godot starten, über den Projektmanager gehen.