Inherits: Reference < Object

A script that is executed when exporting the project.


EditorExportPlugins are automatically invoked whenever the user exports the project. Their most common use is to determine what files are being included in the exported project. For each plugin, _export_begin is called at the beginning of the export process and then _export_file is called for each exported file.

To use EditorExportPlugin, register it using the EditorPlugin.add_export_plugin method first.



_export_begin ( PoolStringArray features, bool is_debug, String path, int flags ) virtual


_export_end ( ) virtual


_export_file ( String path, String type, PoolStringArray features ) virtual


add_file ( String path, PoolByteArray file, bool remap )


add_ios_bundle_file ( String path )


add_ios_cpp_code ( String code )


add_ios_embedded_framework ( String path )


add_ios_framework ( String path )


add_ios_linker_flags ( String flags )


add_ios_plist_content ( String plist_content )


add_ios_project_static_lib ( String path )


add_osx_plugin_file ( String path )


add_shared_object ( String path, PoolStringArray tags )


skip ( )

Method Descriptions

Virtual method to be overridden by the user. It is called when the export starts and provides all information about the export. features is the list of features for the export, is_debug is true for debug builds, path is the target path for the exported project. flags is only used when running a runnable profile, e.g. when using native run on Android.

  • void _export_end ( ) virtual

Virtual method to be overridden by the user. Called when the export is finished.

Virtual method to be overridden by the user. Called for each exported file, providing arguments that can be used to identify the file. path is the path of the file, type is the Resource represented by the file (e.g. PackedScene) and features is the list of features for the export.

Calling skip inside this callback will make the file not included in the export.

Adds a custom file to be exported. path is the virtual path that can be used to load the file, file is the binary data of the file. If remap is true, file will not be exported, but instead remapped to the given path.

  • void add_ios_bundle_file ( String path )

Adds an iOS bundle file from the given path to the exported project.

  • void add_ios_cpp_code ( String code )

Adds a C++ code to the iOS export. The final code is created from the code appended by each active export plugin.

  • void add_ios_embedded_framework ( String path )

Adds a dynamic library (*.dylib, *.framework) to Linking Phase in iOS's Xcode project and embeds it into resulting binary.

Note: For static libraries (*.a) works in same way as add_ios_framework.

This method should not be used for System libraries as they are already present on the device.

  • void add_ios_framework ( String path )

Adds a static library (*.a) or dynamic library (*.dylib, *.framework) to Linking Phase in iOS's Xcode project.

  • void add_ios_linker_flags ( String flags )

Adds linker flags for the iOS export.

  • void add_ios_plist_content ( String plist_content )

Adds content for iOS Property List files.

  • void add_ios_project_static_lib ( String path )

Adds a static lib from the given path to the iOS project.

  • void add_osx_plugin_file ( String path )

Adds file or directory matching path to PlugIns directory of macOS app bundle.

Note: This is useful only for macOS exports.

Adds a shared object or a directory containing only shared objects with the given tags and destination path.

Note: In case of macOS exports, those shared objects will be added to Frameworks directory of app bundle.

In case of a directory code-sign will error if you place non code object in directory.

  • void skip ( )

To be called inside _export_file. Skips the current file, so it's not included in the export.