Base class for custom [EditorExportPlatform] implementations (plugins). External [EditorExportPlatform] implementations should inherit from this class. To use [EditorExportPlatform], register it using the [method EditorPlugin.add_export_platform] method first. [b]Optional.[/b] Returns [code]true[/code], if specified [param preset] is valid and can be exported. Use [method set_config_error] and [method set_config_missing_templates] to set error details. Usual implementation can call [method _has_valid_export_configuration] and [method _has_valid_project_configuration] to determine if export is possible. [b]Optional.[/b] Called by the editor before platform is unregistered. [b]Optional.[/b] Creates a PCK archive at [param path] for the specified [param preset]. This method is called when "Export PCK/ZIP" button is pressed in the export dialog, with "Export as Patch" disabled, and PCK is selected as a file type. [b]Optional.[/b] Creates a patch PCK archive at [param path] for the specified [param preset], containing only the files that have changed since the last patch. This method is called when "Export PCK/ZIP" button is pressed in the export dialog, with "Export as Patch" enabled, and PCK is selected as a file type. [b]Note:[/b] The patches provided in [param patches] have already been loaded when this method is called and are merely provided as context. When empty the patches defined in the export preset have been loaded instead. [b]Required.[/b] Creates a full project at [param path] for the specified [param preset]. This method is called when "Export" button is pressed in the export dialog. This method implementation can call [method EditorExportPlatform.save_pack] or [method EditorExportPlatform.save_zip] to use default PCK/ZIP export process, or calls [method EditorExportPlatform.export_project_files] and implement custom callback for processing each exported file. [b]Optional.[/b] Create a ZIP archive at [param path] for the specified [param preset]. This method is called when "Export PCK/ZIP" button is pressed in the export dialog, with "Export as Patch" disabled, and ZIP is selected as a file type. [b]Optional.[/b] Create a ZIP archive at [param path] for the specified [param preset], containing only the files that have changed since the last patch. This method is called when "Export PCK/ZIP" button is pressed in the export dialog, with "Export as Patch" enabled, and ZIP is selected as a file type. [b]Note:[/b] The patches provided in [param patches] have already been loaded when this method is called and are merely provided as context. When empty the patches defined in the export preset have been loaded instead. [b]Required.[/b] Returns array of supported binary extensions for the full project export. [b]Optional.[/b] Returns protocol used for remote debugging. Default implementation return [code]tcp://[/code]. [b]Optional.[/b] Returns device architecture for one-click deploy. [b]Optional.[/b] Validates [param option] and returns visibility for the specified [param preset]. Default implementation return [code]true[/code] for all options. [b]Optional.[/b] Validates [param option] and returns warning message for the specified [param preset]. Default implementation return empty string for all options. [b]Optional.[/b] Returns a property list, as an [Array] of dictionaries. Each [Dictionary] must at least contain the [code]name: StringName[/code] and [code]type: Variant.Type[/code] entries. Additionally, the following keys are supported: - [code]hint: PropertyHint[/code] - [code]hint_string: String[/code] - [code]usage: PropertyUsageFlags[/code] - [code]class_name: StringName[/code] - [code]default_value: Variant[/code], default value of the property. - [code]update_visibility: bool[/code], if set to [code]true[/code], [method _get_export_option_visibility] is called for each property when this property is changed. - [code]required: bool[/code], if set to [code]true[/code], this property warnings are critical, and should be resolved to make export possible. This value is a hint for the [method _has_valid_export_configuration] implementation, and not used by the engine directly. See also [method Object._get_property_list]. [b]Required.[/b] Returns platform logo displayed in the export dialog, logo should be 32x32 adjusted to the current editor scale, see [method EditorInterface.get_editor_scale]. [b]Required.[/b] Returns export platform name. [b]Optional.[/b] Returns one-click deploy menu item icon for the specified [param device], icon should be 16x16 adjusted to the current editor scale, see [method EditorInterface.get_editor_scale]. [b]Optional.[/b] Returns one-click deploy menu item label for the specified [param device]. [b]Optional.[/b] Returns one-click deploy menu item tooltip for the specified [param device]. [b]Optional.[/b] Returns number one-click deploy devices (or other one-click option displayed in the menu). [b]Optional.[/b] Returns tooltip of the one-click deploy menu button. [b]Required.[/b] Returns target OS name. [b]Required.[/b] Returns array of platform specific features. [b]Required.[/b] Returns array of platform specific features for the specified [param preset]. [b]Optional.[/b] Returns icon of the one-click deploy menu button, icon should be 16x16 adjusted to the current editor scale, see [method EditorInterface.get_editor_scale]. [b]Required.[/b] Returns [code]true[/code] if export configuration is valid. [b]Required.[/b] Returns [code]true[/code] if project configuration is valid. [b]Optional.[/b] Returns [code]true[/code] if specified file is a valid executable (native executable or script) for the target platform. [b]Optional.[/b] Returns [code]true[/code] if one-click deploy options are changed and editor interface should be updated. [b]Optional.[/b] This method is called when [param device] one-click deploy menu option is selected. Implementation should export project to a temporary location, upload and run it on the specific [param device], or perform another action associated with the menu item. [b]Optional.[/b] Returns [code]true[/code] if export options list is changed and presets should be updated. Returns current configuration error message text. This method should be called only from the [method _can_export], [method _has_valid_export_configuration], or [method _has_valid_project_configuration] implementations. Returns [code]true[/code] is export templates are missing from the current configuration. This method should be called only from the [method _can_export], [method _has_valid_export_configuration], or [method _has_valid_project_configuration] implementations. Sets current configuration error message text. This method should be called only from the [method _can_export], [method _has_valid_export_configuration], or [method _has_valid_project_configuration] implementations. Set to [code]true[/code] is export templates are missing from the current configuration. This method should be called only from the [method _can_export], [method _has_valid_export_configuration], or [method _has_valid_project_configuration] implementations.