Base resource that provides the functionality of exporting a release build of a project to a platform, from the editor. Stores platform-specific metadata such as the name and supported features of the platform, and performs the exporting of projects, PCK files, and ZIP files. Uses an export template for the platform provided at the time of project exporting.
Used in scripting by EditorExportPlugin to configure platform-specific customization of scenes and resources. See EditorExportPlugin._begin_customize_scenes() and EditorExportPlugin._begin_customize_resources() for more details.
EXPORT_MESSAGE_NONE = 0
Invalid message type used as the default value when no type is specified.
EXPORT_MESSAGE_INFO = 1
Message type for informational messages that have no effect on the export.
EXPORT_MESSAGE_WARNING = 2
Message type for warning messages that should be addressed but still allow to complete the export.
EXPORT_MESSAGE_ERROR = 3
Message type for error messages that must be addressed and fail the export.
DEBUG_FLAG_DUMB_CLIENT = 1
Flag is set if remotely debugged project is expected to use remote file system. If set, gen_export_flags() will add --remove-fs
and --remote-fs-password
(if password is set in the editor settings) command line arguments to the list.
DEBUG_FLAG_REMOTE_DEBUG = 2
Flag is set if remote debug is enabled. If set, gen_export_flags() will add --remote-debug
and --breakpoints
(if breakpoints are selected in the script editor or added by the plugin) command line arguments to the list.
DEBUG_FLAG_REMOTE_DEBUG_LOCALHOST = 4
Flag is set if remotely debugged project is running on the localhost. If set, gen_export_flags() will use localhost
instead of EditorSettings.network/debug/remote_host as remote debugger host.
DEBUG_FLAG_VIEW_COLLISIONS = 8
Flag is set if "Visible Collision Shapes" remote debug option is enabled. If set, gen_export_flags() will add --debug-collisions
command line arguments to the list.
Flag is set if Visible Navigation" remote debug option is enabled. If set, gen_export_flags() will add --debug-navigation
command line arguments to the list.
Adds a message to the export log that will be displayed when exporting ends.
Clears the export log.
Create a new preset for this platform.
Creates a PCK archive at path
for the specified preset
.
Creates a patch PCK archive at path
for the specified preset
, containing only the files that have changed since the last patch.
Note: patches
is an optional override of the set of patches defined in the export preset. When empty the patches defined in the export preset will be used instead.
Creates a full project at path
for the specified preset
.
Exports project files for the specified preset. This method can be used to implement custom export format, other than PCK and ZIP. One of the callbacks is called for each exported file.
save_cb
is called for all exported files and have the following arguments: file_path: String
, file_data: PackedByteArray
, file_index: int
, file_count: int
, encryption_include_filters: PackedStringArray
, encryption_exclude_filters: PackedStringArray
, encryption_key: PackedByteArray
.
shared_cb
is called for exported native shared/static libraries and have the following arguments: file_path: String
, tags: PackedStringArray
, target_folder: String
.
Note: file_index
and file_count
are intended for progress tracking only and aren't necesserely unique and precise.
Create a ZIP archive at path
for the specified preset
.
Create a patch ZIP archive at path
for the specified preset
, containing only the files that have changed since the last patch.
Note: patches
is an optional override of the set of patches defined in the export preset. When empty the patches defined in the export preset will be used instead.
Locates export template for the platform, and returns Dictionary with the following keys: path: String
and error: String
. This method is provided for convenience and custom export platforms aren't required to use it or keep export templates stored in the same way official templates are.
Generates array of command line arguments for the default export templates for the debug flags and editor settings.
Returns array of EditorExportPresets for this platform.
Returns array of core file names that always should be exported regardless of preset config.
Returns additional files that should always be exported regardless of preset configuration, and are not part of the project source. The returned Dictionary contains filename keys (String) and their corresponding raw data (PackedByteArray).
Returns message category, for the message with index
.
Returns number of messages in the export log.
Returns message text, for the message with index
.
Returns message type, for the message with index
.
Returns the name of the export operating system handled by this EditorExportPlatform class, as a friendly string. Possible return values are Windows
, Linux
, macOS
, Android
, iOS
, and Web
.
Returns most severe message type currently present in the export log.
Saves PCK archive and returns Dictionary with the following keys: result: Error
, so_files: Array
(array of the shared/static objects which contains dictionaries with the following keys: path: String
, tags: PackedStringArray
, and target_folder: String
).
If embed
is true
, PCK content is appended to the end of path
file and return Dictionary additionally include following keys: embedded_start: int
(embedded PCK offset) and embedded_size: int
(embedded PCK size).
Saves patch PCK archive and returns Dictionary with the following keys: result: Error
, so_files: Array
(array of the shared/static objects which contains dictionaries with the following keys: path: String
, tags: PackedStringArray
, and target_folder: String
).
Saves ZIP archive and returns Dictionary with the following keys: result: Error
, so_files: Array
(array of the shared/static objects which contains dictionaries with the following keys: path: String
, tags: PackedStringArray
, and target_folder: String
).
Saves patch ZIP archive and returns Dictionary with the following keys: result: Error
, so_files: Array
(array of the shared/static objects which contains dictionaries with the following keys: path: String
, tags: PackedStringArray
, and target_folder: String
).
Uploads specified file over SCP protocol to the remote host.
Executes specified command on the remote host via SSH protocol and returns command output in the output
.
Executes specified command on the remote host via SSH protocol and returns process ID (on the remote host) without waiting for command to finish.