Up to date

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

Dateipfade in Godot-Projekten

Diese Seite erklärt, wie Dateipfade innerhalb von Godot-Projekten funktionieren. Sie erfahren, wie Sie mit den Bezeichnungen res:// und user:// auf Pfade in Ihren Projekten zugreifen können und wo Godot Projekt- und Editor-Dateien auf Ihren und den Systemen Ihrer Benutzer speichert.

Pfad-Trennzeichen

Um die Unterstützung mehrerer Plattformen zu erleichtern, verwendet Godot UNIX-ähnliche Pfad-Trennzeichen (Schrägstrich /). Diese funktionieren auf allen Plattformen, auch unter Windows.

In Godot sollten Pfade nicht wie C:\Projects\Game, sondern stattdessen wie C:/Projects/Game geschreiben werden.

Pfadtrennzeichen im Windows-Stil (umgekehrter Schrägstrich \) werden in einigen pfadbezogenen Methoden ebenfalls unterstützt, müssen aber gedoppelt werden (\\), da \ normalerweise als Escape-Zeichen für Zeichen mit einer besonderen Bedeutung verwendet wird.

Dadurch ist es möglich, mit Pfaden zu arbeiten, die von anderen Windows-Anwendungen zurückgegeben werden. Wir empfehlen dennoch, in Ihrem eigenen Code nur normale Schrägstriche zu verwenden, um sicherzustellen, dass alles wie vorgesehen funktioniert.

Zugriff auf Dateien im Projektverzeichnis (res://)

Godot geht davon aus, dass ein Projekt in einem beliebigen Ordner existiert, der eine project.godot-Textdatei enthält, auch wenn diese Datei leer ist. Der Ordner, der diese Datei enthält, ist das Stammverzeichnis des Projekts.

Der Zugriff auf Projektdateien kann durch das Öffnen eines beliebigen Pfades mit res:// (kurz für Ressourcen) als Basis erfolgen. Beispielsweise kann eine Textur character.png, die sich im Stammverzeichnis des Projektordners befindet, vom folgenden Pfad aus geöffnet werden: res://character.png.

Zugriff auf dauerhafte Nutzerdaten (user://)

Um dauerhafte Datendateien zu speichern, wie z.B. die Spielstände oder Einstellungen des Spielers, sollten Sie user:// anstelle von res:// als Präfix für den Pfad verwenden. Der Grund dafür ist, dass das Dateisystem des Projekts wahrscheinlich schreibgeschützt ist, wenn das Spiel läuft.

Der Präfix user:// verweist auf ein anderes Verzeichnis auf dem Gerät des Benutzers. Im Gegensatz zu res:// wird das Verzeichnis, auf das user:// verweist, automatisch erstellt und garantiert, dass es beschreibbar ist, selbst in einem exportierten Projekt.

Der Ort des Ordners user:// hängt davon ab, was in den Projekteinstellungen konfiguriert ist:

  • Standardmäßig wird der Ordner user:// in Godots Editor-Datenpfad im Ordner app_userdata/[project_name] angelegt. Dies ist die Standardeinstellung, damit Prototypen und Testprojekte innerhalb des Godot-Datenordners in sich geschlossen bleiben.

  • Wenn application/config/use_custom_user_dir in den Projekteinstellungen aktiviert ist, wird der Ordner user:// neben dem Datenpfad des Godot-Editors angelegt, d. h. am Standardort für Anwendungsdaten.

    • Standardmäßig wird der Ordnername aus dem Projektnamen abgeleitet, aber er kann mit application/config/custom_user_dir_name weiter angepasst werden. Dieser Pfad kann Pfadtrennzeichen enthalten, so dass man ihn z.B. benutzen kann, um Projekte eines bestimmten Studios mit einer Studioname/Spielname-Struktur zu gruppieren.

Auf Desktop-Plattformen lauten die tatsächlichen Verzeichnispfade für user://:

Typ

Ort

Default

Windows: %APPDATA%\Godot\app_userdata\[project_name]
macOS: ~/Library/Application Support/Godot/app_userdata/[project_name]
Linux: ~/.local/share/godot/app_userdata/[project_name]

Benutzerdefiniertes Verzeichnis

Windows: %APPDATA%\[project_name]
macOS: ~/Library/Application Support/[project_name]
Linux: ~/.local/share/[project_name]

Benutzerdefiniertes Verzeichnis und Name

Windows: %APPDATA%\[custom_user_dir_name]
macOS: ~/Library/Application Support/[custom_user_dir_name]
Linux: ~/.local/share/[custom_user_dir_name]

[project_name] basiert auf dem Anwendungsnamen, der in den Projekteinstellungen definiert ist, aber Sie können ihn auf einer plattformspezifischen Basis überschreiben, indem Sie feature tags verwenden.

Auf mobilen Plattformen ist dieser Pfad nur für das Projekt bestimmt und aus Sicherheitsgründen für andere Anwendungen nicht zugänglich.

Bei HTML5-Exporten verweist user:// auf ein virtuelles Dateisystem, das über IndexedDB auf dem Gerät gespeichert ist. (Die Interaktion mit dem Hauptdateisystem kann weiterhin über das Singleton JavaScriptBridge erfolgen).

Umwandlung von Pfaden in absolute Pfade oder "lokale" Pfade

Sie können ProjectSettings.globalize_path() verwenden, um einen "lokalen" Pfad wie res://path/to/file.txt in einen absoluten OS-Pfad umzuwandeln. Zum Beispiel kann ProjectSettings.globalize_path() verwendet werden, um "lokale" Pfade im OS-Dateimanager mit OS.shell_open() zu öffnen, da es nur native OS-Pfade akzeptiert.

Um einen absoluten OS-Pfad in einen "lokalen" Pfad umzuwandeln, der mit res:// oder user:// beginnt, verwenden Sie ProjectSettings.localize_path(). Dies funktioniert nur bei absoluten Pfaden, die auf Dateien oder Ordner im Stammverzeichnis oder im Ordner user:// Ihres Projekts zeigen.

Editor-Datenpfade

Der Editor verwendet je nach Plattform unterschiedliche Pfade für Editordaten, Editoreinstellungen und Cache. Standardmäßig sind diese Pfade:

Typ

Ort

Editordaten

Windows: %APPDATA%\Godot\
MacOS: ~/Library/Application Support/Godot/
Linux: ~/.local/share/godot/

Editoreinstellungen

Windows: %APPDATA%\Godot\
MacOS: ~/Library/Application Support/Godot/
Linux: ~/.config/godot/

Cache

Windows: %TEMP%\Godot\
MacOS: ~/Library/Caches/Godot/
Linux: ~/.cache/godot/
  • Editor data enthält Exportvorlagen und projektspezifische Daten.

  • Editoreinstellungen enthält die Hauptkonfigurationsdatei für die Editoreinstellungen sowie verschiedene andere benutzerspezifische Anpassungen (Editorlayouts, Funktionsprofile, Skriptvorlagen usw.).

  • Cache enthält temporäre Daten, oder solche, die vom Editor generiert wurden. Er kann gefahrlos entfernt werden, wenn Godot geschlossen ist.

Godot entspricht auf allen Plattformen der XDG Base Directory-Spezifikation. Sie können die Umgebungsvariablen entsprechend der Spezifikation überschreiben, um den Editor und die Projektdatenpfade zu ändern.

Bemerkung

Wenn Sie Godot gepackt als Flatpak verwenden, befinden sich die Datenpfade des Editors in Unterordnern von ~/.var/app/org.godotengine.Godot/.

Portabler Modus

Wenn Sie eine Datei mit dem Namen ._sc_ oder _sc_ im selben Verzeichnis wie das Editor-Binary (oder in MacOS/Contents/ für ein macOS-Editor-.app-Bundle) erstellen, aktiviert Godot den portablen Modus. Dieser Modus veranlasst Godot, alle Editor-Daten, Einstellungen und den Cache in ein Verzeichnis namens editor_data/ zu schreiben, das sich im gleichen Verzeichnis wie das Editor-Binary befindet. Sie können ihn benutzen, um eine portable Installation des Editors zu erstellen.

Die Steam-Version von Godot verwendet standardmäßig den portablen Modus.

Bemerkung

Der portable Modus wird in exportierten Projekten noch nicht unterstützt. Um Dateien relativ zum Pfad der ausführbaren Datei zu lesen und zu schreiben, verwenden Sie OS.get_executable_path(). Beachten Sie, dass das Schreiben von Dateien im Pfad der ausführbaren Datei nur funktioniert, wenn die ausführbare Datei an einem beschreibbaren Ort liegt (d.h. nicht Programmdateien oder ein anderes Verzeichnis, das für normale Benutzer schreibgeschützt ist).