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.