Inheritance #

RefCounted

- AESContext
- AStar2D
- AStar3D
- AStarGrid2D
- AudioEffectInstance (1)
- AudioSample
- AudioSamplePlayback
- AudioStreamPlayback (5)
- CameraFeed
- CharFXTransform
- ConfigFile
- Crypto
- DTLSServer
- DirAccess
- ENetConnection
- EditorContextMenuPlugin
- EditorDebuggerPlugin
- EditorDebuggerSession
- EditorExportPlatform (6)
- EditorExportPlugin
- EditorExportPreset
- EditorFeatureProfile
- EditorFileSystemImportFormatSupportQuery
- EditorInspectorPlugin
- EditorResourceConversionPlugin
- EditorResourcePreviewGenerator
- EditorResourceTooltipPlugin
- EditorSceneFormatImporter (4)
- EditorScenePostImport
- EditorScenePostImportPlugin
- EditorScript
- EditorTranslationParserPlugin
- EncodedObjectAsID
- EngineProfiler
- Expression
- FileAccess
- GLTFObjectModelProperty
- HMACContext
- HTTPClient
- HashingContext
- ImageFormatLoader (1)
- JavaClass
- JavaObject
- JavaScriptObject
- KinematicCollision2D
- KinematicCollision3D
- Lightmapper (1)
- MeshConvexDecompositionSettings
- MeshDataTool
- MultiplayerAPI (2)
- Mutex
- NavigationPathQueryParameters2D
- NavigationPathQueryParameters3D
- NavigationPathQueryResult2D
- NavigationPathQueryResult3D
- Node3DGizmo (1)
- OggPacketSequencePlayback
- OpenXRAPIExtension
- PCKPacker
- PackedDataContainerRef
- PacketPeer (8)
- PhysicsPointQueryParameters2D
- PhysicsPointQueryParameters3D
- PhysicsRayQueryParameters2D
- PhysicsRayQueryParameters3D
- PhysicsShapeQueryParameters2D
- PhysicsShapeQueryParameters3D
- PhysicsTestMotionParameters2D
- PhysicsTestMotionParameters3D
- PhysicsTestMotionResult2D
- PhysicsTestMotionResult3D
- RDAttachmentFormat
- RDFramebufferPass
- RDPipelineColorBlendState
- RDPipelineColorBlendStateAttachment
- RDPipelineDepthStencilState
- RDPipelineMultisampleState
- RDPipelineRasterizationState
- RDPipelineSpecializationConstant
- RDSamplerState
- RDShaderSource
- RDTextureFormat
- RDTextureView
- RDUniform
- RDVertexAttribute
- RandomNumberGenerator
- RegEx
- RegExMatch
- RenderSceneBuffers (2)
- RenderSceneBuffersConfiguration
- Resource (103)
- ResourceFormatLoader
- ResourceFormatSaver
- ResourceImporter (16)
- SceneState
- SceneTreeTimer
- Semaphore
- SkinReference
- StreamPeer (5)
- SurfaceTool
- TCPServer
- TLSOptions
- TextLine
- TextParagraph
- TextServer (1)
- Thread
- TranslationDomain
- TriangleMesh
- Tween
- Tweener (5)
- UDPServer
- UPNP
- UPNPDevice
- WeakRef
- WebRTCPeerConnection (1)
- XMLParser
- XRInterface (4)
- XRPose
- XRTracker (2)
- ZIPPacker
- ZIPReader
EditorExportPlatformExtension
Table of contents

EditorExportPlatformExtension #

is_refcounted, is_instantiable, editor, not_builtin_classes

Base class for custom EditorExportPlatform implementations (plugins).

External EditorExportPlatform implementations should inherit from this class.

To use EditorExportPlatform, register it using the EditorPlugin.add_export_platform method first.

Members #

Methods #

virtual const func _can_export(debug: bool) -> bool#

Optional.

Returns true, if specified preset is valid and can be exported. Use set_config_error and set_config_missing_templates to set error details.

Usual implementation can call _has_valid_export_configuration and _has_valid_project_configuration to determine if export is possible.

virtual func _cleanup() -> void#

Optional.

Called by the editor before platform is unregistered.

virtual func _export_pack(flags: int enumEditorExportPlatform.DebugFlags) -> intError#

Optional.

Creates a PCK archive at path for the specified 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.

virtual func _export_pack_patch(flags: int enumEditorExportPlatform.DebugFlags) -> intError#

Optional.

Creates a patch PCK archive at path for the specified 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.

Note: The patches provided in 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.

virtual func _export_project(flags: int enumEditorExportPlatform.DebugFlags) -> intError#

Required.

Creates a full project at path for the specified preset.

This method is called when "Export" button is pressed in the export dialog.

This method implementation can call EditorExportPlatform.save_pack or EditorExportPlatform.save_zip to use default PCK/ZIP export process, or calls EditorExportPlatform.export_project_files and implement custom callback for processing each exported file.

virtual func _export_zip(flags: int enumEditorExportPlatform.DebugFlags) -> intError#

Optional.

Create a ZIP archive at path for the specified 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.

virtual func _export_zip_patch(flags: int enumEditorExportPlatform.DebugFlags) -> intError#

Optional.

Create a ZIP archive at path for the specified 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.

Note: The patches provided in 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.

virtual const func _get_binary_extensions(preset: EditorExportPreset) -> PackedStringArray#

Required.

Returns array of supported binary extensions for the full project export.

virtual const func _get_debug_protocol() -> String#

Optional.

Returns protocol used for remote debugging. Default implementation return tcp://.

virtual const func _get_device_architecture(device: int) -> String#

Optional.

Returns device architecture for one-click deploy.

virtual const func _get_export_option_visibility(option: String) -> bool#

Optional.

Validates option and returns visibility for the specified preset. Default implementation return true for all options.

virtual const func _get_export_option_warning(option: StringName) -> String#

Optional.

Validates option and returns warning message for the specified preset. Default implementation return empty string for all options.

virtual const func _get_export_options() -> Dictionary[]#

Optional.

Returns a property list, as an Array of dictionaries. Each Dictionary must at least contain the name: StringName and type: Variant.Type entries.

Additionally, the following keys are supported:

- hint: PropertyHint

- hint_string: String

- usage: PropertyUsageFlags

- class_name: StringName

- default_value: Variant, default value of the property.

- update_visibility: bool, if set to true, _get_export_option_visibility is called for each property when this property is changed.

- required: bool, if set to true, this property warnings are critical, and should be resolved to make export possible. This value is a hint for the _has_valid_export_configuration implementation, and not used by the engine directly.

See also Object._get_property_list.

Required.

Returns platform logo displayed in the export dialog, logo should be 32x32 adjusted to the current editor scale, see EditorInterface.get_editor_scale.

virtual const func _get_name() -> String#

Required.

Returns export platform name.

virtual const func _get_option_icon(device: int) -> ImageTexture#

Optional.

Returns one-click deploy menu item icon for the specified device, icon should be 16x16 adjusted to the current editor scale, see EditorInterface.get_editor_scale.

virtual const func _get_option_label(device: int) -> String#

Optional.

Returns one-click deploy menu item label for the specified device.

virtual const func _get_option_tooltip(device: int) -> String#

Optional.

Returns one-click deploy menu item tooltip for the specified device.

virtual const func _get_options_count() -> int#

Optional.

Returns number one-click deploy devices (or other one-click option displayed in the menu).

virtual const func _get_options_tooltip() -> String#

Optional.

Returns tooltip of the one-click deploy menu button.

virtual const func _get_os_name() -> String#

Required.

Returns target OS name.

virtual const func _get_platform_features() -> PackedStringArray#

Required.

Returns array of platform specific features.

virtual const func _get_preset_features(preset: EditorExportPreset) -> PackedStringArray#

Required.

Returns array of platform specific features for the specified preset.

virtual const func _get_run_icon() -> Texture2D#

Optional.

Returns icon of the one-click deploy menu button, icon should be 16x16 adjusted to the current editor scale, see EditorInterface.get_editor_scale.

virtual const func _has_valid_export_configuration(debug: bool) -> bool#

Required.

Returns true if export configuration is valid.

virtual const func _has_valid_project_configuration(preset: EditorExportPreset) -> bool#

Required.

Returns true if project configuration is valid.

virtual const func _is_executable(path: String) -> bool#

Optional.

Returns true if specified file is a valid executable (native executable or script) for the target platform.

virtual func _poll_export() -> bool#

Optional.

Returns true if one-click deploy options are changed and editor interface should be updated.

virtual func _run(debug_flags: int enumEditorExportPlatform.DebugFlags) -> intError#

Optional.

This method is called when device one-click deploy menu option is selected.

Implementation should export project to a temporary location, upload and run it on the specific device, or perform another action associated with the menu item.

virtual func _should_update_export_options() -> bool#

Optional.

Returns true if export options list is changed and presets should be updated.

const func get_config_error() -> String#

Returns current configuration error message text. This method should be called only from the _can_export, _has_valid_export_configuration, or _has_valid_project_configuration implementations.

const func get_config_missing_templates() -> bool#

Returns true is export templates are missing from the current configuration. This method should be called only from the _can_export, _has_valid_export_configuration, or _has_valid_project_configuration implementations.

const func set_config_error(error_text: String) -> void#

Sets current configuration error message text. This method should be called only from the _can_export, _has_valid_export_configuration, or _has_valid_project_configuration implementations.

const func set_config_missing_templates(missing_templates: bool) -> void#

Set to true is export templates are missing from the current configuration. This method should be called only from the _can_export, _has_valid_export_configuration, or _has_valid_project_configuration implementations.

Annotations #

Constants #

Constructors #

Enums #

Operators #

Signals #

Theme Items #

Tutorials #