Up to date

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

Feature-Tags

Einführung

Godot verfügt über ein spezielles System zur Kennzeichnung der Verfügbarkeit von Features. Jedes Feature wird als String dargestellt, der sich auf viele der folgenden Elemente beziehen kann:

  • Plattformname.

  • Plattformarchitektur (64-Bit oder 32-Bit, x86 oder ARM).

  • Plattformtyp (Desktop, Mobile, Web).

  • Unterstützte Texturkomprimierungsalgorithmen auf der Plattform.

  • Ob ein Build debug oder release ist (debug enthält den Editor).

  • Ob das Projekt über den Editor oder eine "eigenständige" Binärdatei ausgeführt wird.

  • Viele weitere Dinge.

Features können zur Laufzeit über die Singleton-API abgefragt werden, indem Folgendes aufgerufen wird:

OS.has_feature(name)

GDExtension verwendet die Betriebssystem-Tags, um zu bestimmen, welche Bibliotheken geladen werden sollen. Zum Beispiel wird eine Bibliothek für linux.debug.editor.x86_64 nur auf einem Debug-Editor geladen, der für Linux x86_64 gebaut wurde.

Default-Funktionen

Hier ist eine Liste der meisten Feature-Tags in Godot. Beachten Sie, dass bei ihnen die Groß- und Kleinschreibung wichtig ist:

Feature-Tag

Beschreibung

android

Läuft auf Android (aber nicht innerhalb eines Webbrowsers)

bsd

Läuft auf *BSD (aber nicht in einem Webbrowser)

linux

Läuft unter Linux (aber nicht innerhalb eines Webbrowsers)

macos

Läuft unter macOS (aber nicht in einem Webbrowser)

ios

Läuft unter iOS (aber nicht innerhalb eines Webbrowsers)

windows

Läuft unter Windows

linuxbsd

Läuft unter Linux oder *BSD

debug

Läuft auf einem Debug-Build (einschließlich des Editors)

release

Läuft auf einem Release-Build

editor

Läuft auf einem Editor-Build

template

Läuft auf einem Nicht-Editor-Build (Exportvorlage)

double

Läuft auf einem Double-Precision-Build

single

Läuft auf einem Single-Precision-Build

64

Läuft auf einem 64-bit Build (jede Architektur)

32

Läuft auf einem 32-bit Build (jede Architektur)

x86_64

Läuft auf einem 64-bit x86 Build

x86_32

Läuft auf einem 32-bit x86 Build

x86

Läuft auf einem x86 Build (jede Bitgröße)

arm64

Läuft auf einem 64-bit ARM Build

arm32

Läuft auf einem 32-Bit ARM Build

arm

Läuft auf einem 64-bit Build (jede Bitgröße)

rv64

Läuft auf einem 64-bit RISC-V Build

riscv

Läuft auf einem RISC-V-Build (jede Bitgröße)

ppc64

Läuft auf einem 64-Bit-PowerPC-Build

ppc32

Läuft auf einem 32-Bit-PowerPC-Build

ppc

Läuft auf einem PowerPC-Build (jede Bitgröße)

wasm64

Läuftg auf einem 64-Bit-WebAssembly-Build (noch nicht möglich)

wasm32

Läuft auf einem 32-Bit-WebAssembly-Build

wasm

Läuft auf einem WebAssembly-Build (beliebige Bitgröße)

mobile

Host-Betriebssystem ist eine mobile Plattform

pc

Host-Betriebssystem ist eine PC-Plattform (Desktop/Laptop)

web

Das Host-Betriebssystem ist ein Webbrowser

web_android

Host OS ist ein Webbrowser, der auf Android läuft

web_ios

Host OS ist ein Webbrowser, der auf iOS läuft

web_linuxbsd

Host-Betriebssystem ist ein Webbrowser, der unter Linux oder *BSD läuft

web_macos

Host OS ist ein Webbrowser, der unter macOS läuft

web_windows

Host-Betriebssystem ist ein Webbrowser, der unter Windows läuft

etc

Texturen mit ETC1-Komprimierung werden unterstützt

etc2

Texturen mit ETC2-Komprimierung werden unterstützt

s3tc

Texturen die S3TC (DXT/BC)-Kompression nutzen, werden unterstützt

movie

Movie Maker mode ist aktiv

Warnung

Mit Ausnahme von Texturkompression und movie-Featuretags sind die Default-Featuretags unveränderlich. Das bedeutet, dass sie sich nicht abhängig von den Laufzeitbedingungen ändern können. Zum Beispiel wird OS.has_feature("mobile") den Wert false zurückgeben, wenn ein nach HTML5 exportiertes Projekt auf einem mobilen Gerät läuft.

Um zu prüfen, ob ein nach HTML5 exportiertes Projekt auf einem mobilen Gerät läuft, rufen Sie den JavaScript-Code auf, der den User-Agenten des Browsers ausliest.

Benutzerdefinierte Features

Es ist möglich, benutzerdefinierte Features zu einem Build hinzuzufügen; verwenden Sie dazu das entsprechende Feld in der Exportvorgabe, die zur Erstellung des Builds verwendet wurde:

../../_images/feature_tags1.png

Bemerkung

Benutzerdefinierte Feature-Tags werden nur verwendet, wenn das exportierte Projekt ausgeführt wird (auch mit Ein-Klick-Auslieferung). Sie werden nicht verwendet, wenn das Projekt vom Editor aus ausgeführt wird, selbst wenn die Exportvorgabe, die für Ihre aktuelle Plattform als Runnable markiert ist, benutzerdefinierte Featuretags definiert hat.

Projekteinstellungen überschreiben

Features können verwendet werden, um bestimmte Konfigurationswerte in den Projekteinstellungen außer Kraft zu setzen. Dadurch können Sie eine beliebige Konfiguration beim Erstellen eines Builds besser anpassen.

Im folgenden Beispiel wird ein anderes Icon für den Demo-Build des Spiels hinzugefügt (der in einer speziellen Exportvorgabe angepasst wurde, die wiederum nur Demo-Levels enthält).

../../_images/feature_tags2.png

Nach dem Überschreiben wird ein neues Feld für diese spezielle Konfiguration hinzugefügt:

../../_images/feature_tags3.png

Bemerkung

Wenn Sie die Projekteinstellungen "override.cfg"-Funktionalität verwenden (die nichts mit Featuretags zu tun hat), denken Sie daran, dass Featuretags weiterhin gelten. Stellen Sie daher sicher, dass Sie auch die Einstellung mit dem/den gewünschten Featuretag(s) überschreiben, wenn Sie wollen, dass diese die Basisprojekteinstellungen auf allen Plattformen und Konfigurationen überschreiben.

Default-Überschreibungen

Es gibt bereits eine Vielzahl von Einstellungen, die standardmäßig mit Überschreibungen versehen sind; sie sind in vielen Abschnitten der Projekteinstellungen zu finden.

../../_images/feature_tags4.png

Anpassen des Builds

Featuretags können auch verwendet werden, um einen Build-Prozess anzupassen, indem man ein eigenes ExportPlugin schreibt. Sie werden auch verwendet, um festzulegen, welche Shared Library in GDExtension geladen und exportiert wird.