reckfellENGINE

EditorExportPlatform

Identifies a supported export platform, and internally provides the functionality of exporting to that platform.

On this page
class EditorExportPlatformReckfellSharpEditorInherits RefCounted

Identifies a supported export platform, and internally provides the functionality of exporting to that platform.

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._BeginCustomizeScenes and EditorExportPlugin._BeginCustomizeResources for more details.

Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.

Methods34

AddMessagevoid
# AddMessage
C#
public void AddMessage(EditorExportPlatform.ExportMessageType type, string category, string message);

Adds a message to the export log that will be displayed when exporting ends.

Parameters
NameTypeDefault
typeEditorExportPlatform.ExportMessageType—
categorystring—
messagestring—
ClearMessagesvoid
# ClearMessages
C#
public void ClearMessages();

Clears the export log.

CreatePresetEditorExportPreset
# CreatePreset
C#
public EditorExportPreset CreatePreset();

Create a new preset for this platform.

Returns EditorExportPreset
ExportPackError
# ExportPack
C#
public Error ExportPack(EditorExportPreset preset, bool debug, string path, EditorExportPlatform.DebugFlags flags = (EditorExportPlatform.DebugFlags)0);

Creates a PCK archive at path for the specified preset.

Parameters
NameTypeDefault
presetEditorExportPreset—
debugbool—
pathstring—
flagsEditorExportPlatform.DebugFlags(EditorExportPlatform.DebugFlags)0
Returns Error
ExportPackPatch2 overloads
# ExportPackPatch · 1/2
C#
public Error ExportPackPatch(EditorExportPreset preset, bool debug, string path, ReadOnlySpan<string> patches, EditorExportPlatform.DebugFlags flags);

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.

Parameters
NameTypeDefault
presetEditorExportPreset—
debugbool—
pathstring—
patchesReadOnlySpan<string>—
flagsEditorExportPlatform.DebugFlags—
Returns Error
# ExportPackPatch · 2/2
C#
public Error ExportPackPatch(EditorExportPreset preset, bool debug, string path, string[] patches = null, EditorExportPlatform.DebugFlags flags = (EditorExportPlatform.DebugFlags)0);

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.

Parameters
NameTypeDefault
presetEditorExportPreset—
debugbool—
pathstring—
patchesstring[]null
flagsEditorExportPlatform.DebugFlags(EditorExportPlatform.DebugFlags)0
patches

If the parameter is null, then the default value is Array.Empty<string>().

Returns Error
ExportProject2 overloads
# ExportProject · 1/2
C#
public Error ExportProject(EditorExportPreset preset, bool debug, string path, EditorExportPlatform.DebugFlags flags);

Creates a full project at path for the specified preset. If notify is true, plugins using EditorExportPlugin._ExportBegin will be called during the process.

Parameters
NameTypeDefault
presetEditorExportPreset—
debugbool—
pathstring—
flagsEditorExportPlatform.DebugFlags—
Returns Error
# ExportProject · 2/2
C#
public Error ExportProject(EditorExportPreset preset, bool debug, string path, EditorExportPlatform.DebugFlags flags = (EditorExportPlatform.DebugFlags)0, bool notify = true);

Creates a full project at path for the specified preset. If notify is true, plugins using EditorExportPlugin._ExportBegin will be called during the process.

Parameters
NameTypeDefault
presetEditorExportPreset—
debugbool—
pathstring—
flagsEditorExportPlatform.DebugFlags(EditorExportPlatform.DebugFlags)0
notifybooltrue
Returns Error
ExportProjectFilesError
# ExportProjectFiles
C#
public Error ExportProjectFiles(EditorExportPreset preset, bool debug, Callable saveCb, Callable sharedCb = default);

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: info: Dictionary, file_data: PackedByteArray. The info dictionary contains the following values: path: String, source_path: String, file_index: int, file_count: int. 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 necessarily unique and precise. Note: The signature of save_cb changed in Reckfell. There is compatibility code to automatically handle the previous signature if the passed callable has 7 arguments.

Parameters
NameTypeDefault
presetEditorExportPreset—
debugbool—
saveCbCallable—
sharedCbCallabledefault
Returns Error
ExportZipError
# ExportZip
C#
public Error ExportZip(EditorExportPreset preset, bool debug, string path, EditorExportPlatform.DebugFlags flags = (EditorExportPlatform.DebugFlags)0);

Create a ZIP archive at path for the specified preset.

Parameters
NameTypeDefault
presetEditorExportPreset—
debugbool—
pathstring—
flagsEditorExportPlatform.DebugFlags(EditorExportPlatform.DebugFlags)0
Returns Error
ExportZipPatch2 overloads
# ExportZipPatch · 1/2
C#
public Error ExportZipPatch(EditorExportPreset preset, bool debug, string path, ReadOnlySpan<string> patches, EditorExportPlatform.DebugFlags flags);

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.

Parameters
NameTypeDefault
presetEditorExportPreset—
debugbool—
pathstring—
patchesReadOnlySpan<string>—
flagsEditorExportPlatform.DebugFlags—
Returns Error
# ExportZipPatch · 2/2
C#
public Error ExportZipPatch(EditorExportPreset preset, bool debug, string path, string[] patches = null, EditorExportPlatform.DebugFlags flags = (EditorExportPlatform.DebugFlags)0);

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.

Parameters
NameTypeDefault
presetEditorExportPreset—
debugbool—
pathstring—
patchesstring[]null
flagsEditorExportPlatform.DebugFlags(EditorExportPlatform.DebugFlags)0
patches

If the parameter is null, then the default value is Array.Empty<string>().

Returns Error
FindExportTemplateReckfell.Collections.Dictionary
# FindExportTemplate
C#
public Reckfell.Collections.Dictionary FindExportTemplate(string templateFileName);

Locates export template for the platform, and returns Reckfell.Collections.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.

Parameters
NameTypeDefault
templateFileNamestring—
Returns Reckfell.Collections.Dictionary
GenExportFlagsstring[]
# GenExportFlags
C#
public string[] GenExportFlags(EditorExportPlatform.DebugFlags flags);

Generates array of command line arguments for the default export templates for the debug flags and editor settings.

Parameters
NameTypeDefault
flagsEditorExportPlatform.DebugFlags—
Returns string[]
GetCurrentPresetsReckfell.Collections.Array
# GetCurrentPresets
C#
public Reckfell.Collections.Array GetCurrentPresets();

Returns array of EditorExportPresets for this platform.

Returns Reckfell.Collections.Array
GetForcedExportFiles2 overloads
# GetForcedExportFiles · 1/2
C#
public static string[] GetForcedExportFiles();

Returns array of core file names that always should be exported regardless of preset config.

Returns string[]
# GetForcedExportFiles · 2/2
C#
public static string[] GetForcedExportFiles(EditorExportPreset preset = null);

Returns array of core file names that always should be exported regardless of preset config.

Parameters
NameTypeDefault
presetEditorExportPresetnull
Returns string[]
GetInternalExportFilesReckfell.Collections.Dictionary
# GetInternalExportFiles
C#
public Reckfell.Collections.Dictionary GetInternalExportFiles(EditorExportPreset preset, bool debug);

Returns additional files that should always be exported regardless of preset configuration, and are not part of the project source. The returned Reckfell.Collections.Dictionary contains filename keys (string) and their corresponding raw data (byte[]).

Parameters
NameTypeDefault
presetEditorExportPreset—
debugbool—
Returns Reckfell.Collections.Dictionary
GetMessageCategorystring
# GetMessageCategory
C#
public string GetMessageCategory(int index);

Returns the message category for the message with the given index.

Parameters
NameTypeDefault
indexint—
Returns string
GetMessageCountint
# GetMessageCount
C#
public int GetMessageCount();

Returns the number of messages in the export log.

Returns int
GetMessageTextstring
# GetMessageText
C#
public string GetMessageText(int index);

Returns the text for the message with the given index.

Parameters
NameTypeDefault
indexint—
Returns string
GetMessageTypeEditorExportPlatform.ExportMessageType
# GetMessageType
C#
public EditorExportPlatform.ExportMessageType GetMessageType(int index);

Returns the type for the message with the given index.

Parameters
NameTypeDefault
indexint—
Returns EditorExportPlatform.ExportMessageType
GetOsNamestring
# GetOsName
C#
public string GetOsName();

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 string
GetWorstMessageTypeEditorExportPlatform.ExportMessageType
# GetWorstMessageType
C#
public EditorExportPlatform.ExportMessageType GetWorstMessageType();

Returns most severe message type currently present in the export log.

Returns EditorExportPlatform.ExportMessageType
SavePackReckfell.Collections.Dictionary
# SavePack
C#
public Reckfell.Collections.Dictionary SavePack(EditorExportPreset preset, bool debug, string path, bool embed = false);

Saves PCK archive and returns Reckfell.Collections.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 Reckfell.Collections.Dictionary additionally include following keys: embedded_start: int (embedded PCK offset) and embedded_size: int (embedded PCK size).

Parameters
NameTypeDefault
presetEditorExportPreset—
debugbool—
pathstring—
embedboolfalse
Returns Reckfell.Collections.Dictionary
SavePackPatchReckfell.Collections.Dictionary
# SavePackPatch
C#
public Reckfell.Collections.Dictionary SavePackPatch(EditorExportPreset preset, bool debug, string path);

Saves patch PCK archive and returns Reckfell.Collections.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).

Parameters
NameTypeDefault
presetEditorExportPreset—
debugbool—
pathstring—
Returns Reckfell.Collections.Dictionary
SaveZipReckfell.Collections.Dictionary
# SaveZip
C#
public Reckfell.Collections.Dictionary SaveZip(EditorExportPreset preset, bool debug, string path);

Saves ZIP archive and returns Reckfell.Collections.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).

Parameters
NameTypeDefault
presetEditorExportPreset—
debugbool—
pathstring—
Returns Reckfell.Collections.Dictionary
SaveZipPatchReckfell.Collections.Dictionary
# SaveZipPatch
C#
public Reckfell.Collections.Dictionary SaveZipPatch(EditorExportPreset preset, bool debug, string path);

Saves patch ZIP archive and returns Reckfell.Collections.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).

Parameters
NameTypeDefault
presetEditorExportPreset—
debugbool—
pathstring—
Returns Reckfell.Collections.Dictionary
SshPushToRemote2 overloads
# SshPushToRemote · 1/2
C#
public Error SshPushToRemote(string host, string port, ReadOnlySpan<string> scpArgs, string srcFile, string dstFile);

Uploads specified file over SCP protocol to the remote host.

Parameters
NameTypeDefault
hoststring—
portstring—
scpArgsReadOnlySpan<string>—
srcFilestring—
dstFilestring—
Returns Error
# SshPushToRemote · 2/2
C#
public Error SshPushToRemote(string host, string port, string[] scpArgs, string srcFile, string dstFile);

Uploads specified file over SCP protocol to the remote host.

Parameters
NameTypeDefault
hoststring—
portstring—
scpArgsstring[]—
srcFilestring—
dstFilestring—
Returns Error
SshRunOnRemote2 overloads
# SshRunOnRemote · 1/2
C#
public Error SshRunOnRemote(string host, string port, ReadOnlySpan<string> sshArg, string cmdArgs, Reckfell.Collections.Array output, int portFwd);

Executes specified command on the remote host via SSH protocol and returns command output in the output.

Parameters
NameTypeDefault
hoststring—
portstring—
sshArgReadOnlySpan<string>—
cmdArgsstring—
outputReckfell.Collections.Array—
portFwdint—
Returns Error
# SshRunOnRemote · 2/2
C#
public Error SshRunOnRemote(string host, string port, string[] sshArg, string cmdArgs, Reckfell.Collections.Array output = null, int portFwd = -1);

Executes specified command on the remote host via SSH protocol and returns command output in the output.

Parameters
NameTypeDefault
hoststring—
portstring—
sshArgstring[]—
cmdArgsstring—
outputReckfell.Collections.Arraynull
portFwdint-1
Returns Error
SshRunOnRemoteNoWait2 overloads
# SshRunOnRemoteNoWait · 1/2
C#
public long SshRunOnRemoteNoWait(string host, string port, ReadOnlySpan<string> sshArgs, string cmdArgs, int portFwd);

Executes specified command on the remote host via SSH protocol and returns process ID (on the remote host) without waiting for command to finish.

Parameters
NameTypeDefault
hoststring—
portstring—
sshArgsReadOnlySpan<string>—
cmdArgsstring—
portFwdint—
Returns long
# SshRunOnRemoteNoWait · 2/2
C#
public long SshRunOnRemoteNoWait(string host, string port, string[] sshArgs, string cmdArgs, int portFwd = -1);

Executes specified command on the remote host via SSH protocol and returns process ID (on the remote host) without waiting for command to finish.

Parameters
NameTypeDefault
hoststring—
portstring—
sshArgsstring[]—
cmdArgsstring—
portFwdint-1
Returns long

EditorExportPlatform.DebugFlags

ValueDescription
DumbClient = 1

Flag is set if the remotely debugged project is expected to use the remote file system. If set, EditorExportPlatform.GenExportFlags will append --remote-fs and --remote-fs-password (if EditorSettings.filesystem/file_server/password is defined) command line arguments to the returned list.

RemoteDebug = 2

Flag is set if remote debug is enabled. If set, EditorExportPlatform.GenExportFlags will append --remote-debug and --breakpoints (if breakpoints are selected in the script editor or added by the plugin) command line arguments to the returned list.

RemoteDebugLocalhost = 4

Flag is set if remotely debugged project is running on the localhost. If set, EditorExportPlatform.GenExportFlags will use localhost instead of EditorSettings.network/debug/remote_host as remote debugger host.

ViewCollisions = 8

Flag is set if the "Visible Collision Shapes" remote debug option is enabled. If set, EditorExportPlatform.GenExportFlags will append the --debug-collisions command line argument to the returned list.

ViewNavigation = 16

Flag is set if the "Visible Navigation" remote debug option is enabled. If set, EditorExportPlatform.GenExportFlags will append the --debug-navigation command line argument to the returned list.

EditorExportPlatform.ExportMessageType

ValueDescription
Error = 3

Message type for error messages that must be addressed and fail the export.

Info = 1

Message type for informational messages that have no effect on the export.

None = 0

Invalid message type used as the default value when no type is specified.

Warning = 2

Message type for warning messages that should be addressed but still allow to complete the export.

Reckfell Engine documentationBack to top ↑
QUICK LINKSGetting startedEntity hierarchyC# & .NET 10Scenes and prefabs
Reckfell guides and full API K
reckfellENGINE
RECKFELL ACCOUNT

Sign in

Sign in to your Reckfell account.

One account for the entire Reckfell platform.