Skip to main content

asset kit

231 tools. Generated from the plugin source; do not edit by hand.

Guide​

Content-browser assets: find/query the registry, lifecycle (create, duplicate, rename, move, delete, save, single + bulk), dependencies and redirectors, validation, metadata, folders, thumbnails, source control, content browser control, factories for the common simple asset types, collections, package and disk facts, bulk organisation, structured content (data tables, curves, string tables, data assets) and advanced file import/export. The kit spans seven classes (UUeaKit_Asset, UUeaKit_AssetCollections, UUeaKit_AssetRegistry, UUeaKit_AssetPackages, UUeaKit_AssetSourceControl, UUeaKit_AssetData, UUeaKit_AssetImport), all registering as kit asset, over two prefixes.

PrefixToolsWhat it covers
asset.191registry queries and graphs, lifecycle (single + bulk), collections, packages/disk/dirty state, path and name helpers, bulk organisation, source control, validation, metadata, folders, thumbnails, content browser, factories, data tables, curves, string tables, data assets
import.24typed importers (texture, static/skeletal mesh, animation, sound, glTF), configured and batched imports, factory option discovery, reimport management, exporters

215 tools in total (214 on UE 4.27: import.interchange_info needs 5.1+). Every tool takes JSON arguments named after the C++ struct fields in camelCase without the b prefix (bRecursive -> recursive). Asset references accept an object path (/Game/Folder/Asset.Asset), a package path (/Game/Folder/Asset) or a unique bare name.

Start here​

  1. asset.find {name, folder, class, recursive, limit} and asset.get_summary {asset} are core tools: always listed, regardless of exposure mode or kit activation.
  2. edit.search_tools {query:"import mesh"} finds tools by words in name + description; edit.get_tool_schema {tool:"asset.rename_many"} gives the full input/output JSON schema.
  3. edit.enable_kits {kits:["asset"]} advertises every asset.* / import.* tool in Adaptive mode (they stay callable either way).

Tools​

asset. (registry, lifecycle, dependencies, factories)​

ToolPurpose
asset.find {name, folder, class, recursive, limit} / asset.list_folder {folder} / asset.exists / asset.exists_many {assets}Search by name substring + folder + class; folder listing; existence checks (registry only, nothing loaded).
asset.get_summary / asset.get_registry_tags / asset.get_file_info / asset.get_state_manyClass, parent, dirty state, dependencies, referencers, first 60 properties; registry tags (ParentClass, RowStructure...); file size/timestamp/cooked; bulk loaded/dirty/size.
asset.list_classes {folder} / asset.count {folder, class} / asset.find_by_class {class, includeDerived, onDiskOnly} / asset.find_by_tag {tag, value, contains} / asset.find_blueprints_by_parent {parentClass, includeSubclasses}Registry queries.
asset.get_size_report {folder, class, limit} / asset.list_recent / asset.find_unused {class, folder}Largest assets + totals per class; most recently modified files; assets nothing references.
asset.get_dependencies / asset.get_referencers (hard, soft, recursive, maxDepth, includeScript) / asset.find_circular_dependenciesDependency graph walks (each entry carries depth and via); A -> B -> A cycles.
asset.list_redirectors {folder} / asset.fix_redirectors {folder, recursive, dryRun, save}Redirectors left by renames/moves; fix_redirectors loads the referencing packages, repoints them at the real assets and deletes the redirectors. It never prompts (the engine's own FixupReferencers ends in a modal report window and is not used). Run with dryRun:true to list the redirectors and their referencers first; pass save:true to write the updated referencers to disk.
asset.validate {assets}Data validation (IsDataValid + registered validators).
asset.create_folder {folder} / asset.duplicate {asset, folder, newName} / asset.rename / asset.move {asset, folder}Single-asset lifecycle (rename/move fix up referencers).
asset.duplicate_many {assets, folder} / asset.move_many / asset.rename_many {folder, find, replace, prefix, suffix, class, dryRun} / asset.delete_many {assets, force}Bulk versions; per-asset failures are reported instead of stopping. rename_many with dryRun:true previews.
asset.delete / asset.consolidate {target, assets}Delete one asset (refuses while referenced); merge duplicates into target and delete them.
asset.save / asset.save_many {assets} / asset.save_allWrite packages to disk. Nothing is auto-saved.
asset.create_folders {folders} / asset.rename_folder {folder, newFolder} / asset.duplicate_folder / asset.delete_folder / asset.folder_has_assetsContent folders.
asset.get_metadata / asset.set_metadata {asset, key, value} / asset.remove_metadataEditor metadata tags (UMetaData).
asset.set_texture_settings {asset, srgb, compression, lodGroup, mipGen, maxSize, neverStream, save}Post-import texture settings (-1 / empty / 0 keep).
asset.render_thumbnail {asset, size, savePath}Thumbnail as a PNG image block (32-1024 px).
asset.get_source_control_state {assets} / asset.checkout / asset.revertSource control on assets.
asset.open_editor / asset.get_open_editors / asset.close_editor / asset.close_all_editorsAsset editor windows.
asset.sync_browser {assets} / asset.set_browser_folder {folder} / asset.get_browser_folder / asset.get_browser_selectionContent Browser navigation and selection.
asset.create {class, folder, name, factory, factoryProperties, save} / asset.list_factories {contains}Any class with a "new asset" factory; the factory list with supported class and import extensions.
asset.create_material / create_material_instance {source:parent} / create_material_function / create_data_table {source:rowStruct} / create_curve {type:float|vector|linearcolor} / create_enum {values} / create_struct {fields:[{name, type, default}]} / create_data_asset {source:class} / create_level {source:template} / create_render_target {width, height} / create_font / create_sound_cue {source:wave} / create_sound_class / create_sound_mix / create_physical_material {source:subclass} / create_physics_asset {source:skeletalMesh} / create_string_table / create_object_libraryTyped factories; all take folder, name, save. Struct field types use the bp type syntax (float, object:Actor, struct:HitResult, append [] for arrays).
asset.data_table_fill {asset, text|file, format} / asset.data_table_export {asset, format, savePath}DataTable rows from/to CSV or JSON (fill replaces existing rows).
asset.string_table_list / asset.string_table_set {asset, entries:[{key, value}]}StringTable entries.
asset.import_file {file, folder, name}Automatic importer, no dialogs (FBX, PNG, WAV, ...); simple single-asset variant of import.files.

import. (files in and out)​

ToolPurpose
import.files {files, folder}Automatic importer, no dialogs, many files at once.
import.texture {file, folder, srgb, compression, lodGroup, mipGen}Texture with settings applied at import.
import.static_mesh {file, folder, importScale, combineMeshes, generateCollision, generateLightmapUVs, importMaterials, importTextures}FBX/OBJ static mesh.
import.skeletal_mesh {file, folder, skeleton, createPhysicsAsset, importMorphTargets, importAnimations}FBX skeletal mesh (reuses skeleton or creates one).
import.animation {file, folder, skeleton} / import.sound {file, folder}Animation sequence onto a skeleton; WAV/OGG/FLAC.
import.reimport {asset, file} / import.export {asset, file} / import.list_formatsReimport from the recorded (or a new) source; export by extension (fbx, obj, png, tga, wav, csv, json, t3d, copy); supported extensions per factory.

asset. (collections)​

ToolPurpose
asset.list_collections {contains, shareType, includeCounts} / asset.get_asset_collections {asset, recursive}Collections with share type, storage mode, parent, colour and asset count; which collections hold an asset.
asset.create_collection {name, shareType, storageMode, parent, query} / asset.delete_collection {collection, recursive} / asset.rename_collection {collection, newName, newShareType} / asset.reparent_collection {collection, parent}Lifecycle and nesting. Names are sanitised (letters, digits, _, -); shareType is local (default), private or shared; storageMode is static or dynamic (a saved content-browser query).
asset.add_to_collection {collection, assets} / asset.remove_from_collection / asset.get_collection_assets {collection, recursive, limit} / asset.empty_collectionStatic collection contents.
asset.collection_from_search {name, folder, classFilter, nameContains, limit}Creates (or refills) a collection from a registry search in one call.
asset.set_collection_color {collection, r, g, b, a, clear}Content browser colour.

asset. (registry queries, graphs and folder audits)​

ToolPurpose
asset.query {packagePaths, classes, recursiveClasses, recursivePaths, tags:[{key,value}], packageNames, onDiskOnly, includeTags, limit, offset}The full FARFilter in one call, with paging. Start here for anything the narrow finders cannot express.
asset.get_by_package {package, includeTags} / asset.list_by_tag_value {tag, value, folder} / asset.list_tags_of_class {class, folder, sampleSize}Objects inside one package; exact tag/value matches; the distinct tag keys a class carries, with an example value each.
asset.get_derived_classes {class, recursive, limit} / asset.get_class_ancestors {class}Class hierarchy from the registry (native classes and Blueprint generated classes).
asset.list_paths {base, recursive} / asset.path_exists {path} / asset.scan_paths {paths, force} / asset.scan_files {paths, force}Content folders known to the registry; force a synchronous rescan after writing files outside the editor.
asset.registry_status / asset.wait_for_registry {timeoutSeconds}Whether the initial scan finished; wait_for_registry lets editor frames pass until it does.
asset.get_dependency_graph {asset, depth, hard, soft, searchable, manage, includeScript, limit} / asset.get_referencer_graphEdge lists (from, to, category, hard, depth) up to depth 4, downward and upward.
asset.find_orphans {folder} / asset.find_missing_references {folder} / asset.find_duplicates_by_name {folder} / asset.diff_folders {a, b}Audits: nothing outside the folder references them; references to packages that no longer exist; same name in several folders; folder comparison by asset name.
asset.get_asset_size_breakdown {folder, groupBy:"class" or "subfolder"} / asset.list_largest {folder, class, limit}Disk size grouped or ranked.

asset. (packages, paths and bulk organisation)​

ToolPurpose
asset.get_package_info {asset} / asset.list_loaded_packages {folder, dirtyOnly} / asset.fully_load {asset}File on disk, size, load/dirty state, PKG flags, objects in the package.
asset.list_dirty / asset.mark_dirty {assets} / asset.clear_dirty {assets} / asset.save_dirty {prompt, includeMaps, includeContent}Unsaved-change handling. clear_dirty drops the flag without saving.
asset.unload_packages {packages, includeDirty} / asset.reload_packagesFree memory / discard in-memory changes.
asset.sanitize_name {name} / asset.make_unique_name {folder, base, suffix} / asset.validate_path {path} / asset.split_path {path}Name and path helpers; split_path returns package, asset, sub-object, mount point, folder and the file on disk.
asset.list_mount_points / asset.list_content_pluginsContent roots (/Game/, /Engine/, plugin mounts) and enabled plugins with content.
asset.organize_by_class {folder, mapping:[{class, subfolder}], dryRun} / asset.apply_naming_prefix {folder, mapping:[{class, prefix}], dryRun} / asset.find_naming_violations {folder, mapping}Bulk organisation. Defaults: Blueprints/Materials/Textures/Meshes/Sounds and BP_, M_, MI_, MF_, T_, SM_, SK_, S_.
asset.move_folder {folder, newParent} / asset.list_empty_folders {folder} / asset.delete_empty_folders {folder, dryRun} / asset.copy_folder_to_plugin {folder, plugin, subfolder}Folder moves and cleanup; the plugin copy is an advanced copy (dependencies follow).

asset. (source control per asset)​

ToolPurpose
asset.sc_get_provider / asset.sc_status {assets, updateStatus}Provider name/enabled/available; per-asset checked out (and by whom), modified, added, deleted, current, conflicted, revision.
asset.sc_checkout_many {assets} / asset.sc_add_many / asset.sc_revert_many {assets, unchangedOnly} / asset.sc_checkin {assets, description, keepCheckedOut}The everyday operations.
asset.sc_sync {assets or folder} / asset.sc_history {asset, limit} / asset.sc_diff_against_depot {asset} / asset.sc_list_changed {folder}Sync to head; revision list; fetch the head revision and report whether the local file differs; locally changed files under a folder.
asset.sc_lock {assets} / asset.sc_unlockLocking, where the provider supports it. The engine provider interface has no separate lock operation, so lock is a check out and unlock a revert of an unmodified check out (the reply's hint says so).

Every source control tool answers E_NOT_SUPPORTED with a clear message when no provider is enabled.

asset. (data tables, curves, string tables, data assets)​

ToolPurpose
asset.data_table_info {asset} / asset.data_table_set_row_struct {asset, rowStruct}Row struct, typed columns, row count, composite parents. Changing the row struct drops every row.
asset.data_table_list_rows {asset, nameContains, includeValues, limit, offset} / asset.data_table_get_row {asset, row} / asset.data_table_find_rows {asset, column, value, contains}Reading rows. Columns are addressed by their authored name (what the editor shows).
asset.data_table_add_row {asset, row, values:[{key,value}]} / asset.data_table_set_cell {asset, row, column, value} / asset.data_table_set_row / asset.data_table_duplicate_row {row, newName} / asset.data_table_rename_row / asset.data_table_reorder_row {row, direction, steps} / asset.data_table_remove_row / asset.data_table_clearRow CRUD. Values are the same text the details panel accepts; unknown columns come back in problems instead of failing the call.
asset.data_table_import_csv {asset, csv or file} / asset.data_table_import_json {asset, json or file} / asset.data_table_export_json {asset}Whole-table import (replaces the rows) and JSON export. asset.data_table_export (CSV or JSON) still exists on the original class.
asset.composite_table_set_parents {asset, parents}Parent tables of a CompositeDataTable, lowest priority first.
asset.curve_info {asset, channel} / asset.curve_get_keys / asset.curve_evaluate {asset, time, channel}Curve channels: value (CurveFloat), x/y/z (CurveVector), r/g/b/a (CurveLinearColor). Empty channel means every channel.
asset.curve_add_key {asset, time, value, interp} / asset.curve_set_keys {asset, channel, keys} / asset.curve_remove_key {asset, index or time} / asset.curve_clear / asset.curve_set_interpolation {asset, interp}Key editing. interp is linear, constant, cubic or none.
asset.string_table_find {asset, contains, keysOnly} / asset.string_table_import_csv {asset, csv or file, replace} / asset.string_table_export_csv {asset, savePath} / asset.string_table_remove {asset, key}StringTable search, CSV round trip (header Key,SourceString) and entry removal.
asset.data_asset_get {asset} / asset.data_asset_set {asset, values:[{key,value}], save} / asset.list_data_assets {class, folder}Editable properties of any DataAsset as text.
asset.list_primary_assets {type, limit} / asset.get_primary_asset_id {asset} / asset.asset_manager_scan {paths, type, baseClass, hasBlueprintClasses, editorOnly}Asset manager: registered types, the id of an asset, and registering a folder as a primary asset type.

import. (advanced import and export)​

ToolPurpose
import.get_options {format, includeOptionsObject} / import.list_importable_extensions / import.list_exporters {class}Discovery. get_options returns the factory's editable properties with their defaults and the keys to pass to import.with_options (including nested ones such as ImportUI.bImportMaterials).
import.with_options {file, folder, name, factory, options:[{key,value}], replaceExisting, save} / import.batch {tasks, save}Configured imports through UAssetImportTask; batch runs every task in one ImportAssetTasks call and reports per task.
import.fbx_static_mesh / import.fbx_skeletal_mesh / import.fbx_animationTyped FBX imports with named arguments instead of factory property paths (lightmap UVs, collision, combine, morph targets, physics asset, skeleton, frame range, scale, axis conversion).
import.texture_with_settings {file, folder, compression, srgb, mipGen, lodGroup, maxSize, flipGreen} / import.audio {file, folder, compressionQuality, looping, soundGroup}Typed texture and sound imports, settings applied right after the import.
import.csv_to_data_table {file, rowStruct, folder, name} / import.json_to_data_tableCreate a DataTable from a file on disk in one call.
import.gltf {file, folder, name, options}glTF/GLB through whichever glTF importer the engine has.
import.can_reimport {asset} / import.get_source_files {asset} / import.set_source_file {asset, file, index} / import.reimport_many {assets, askForNewFiles} / import.reimport_folder {folder, classFilter, dryRun}Reimport management; get_source_files also reports which recorded files are gone.
import.export_many {assets, directory, extension} / import.export_to_fbx {asset, file, options} / import.export_texture {asset, file} / import.export_data_table_csv {asset, file}Exporting.
import.get_last_import_log / import.interchange_info (5.1+)Warnings and errors captured during the last import/export call of this kit; whether Interchange is present and enabled.

Recipe: import and wire a prop​

edit.call_many {
"calls": [
{"tool": "asset.create_folder", "argsJson": "{\"folder\":\"/Game/Props\"}"},
{"tool": "import.static_mesh", "argsJson": "{\"file\":\"D:/Art/Crate.fbx\",\"folder\":\"/Game/Props\",\"name\":\"SM_Crate\"}"},
{"tool": "asset.create_material_instance", "argsJson": "{\"folder\":\"/Game/Props\",\"name\":\"MI_Crate\",\"source\":\"/Game/Materials/M_Base\"}"},
{"tool": "asset.save_many", "argsJson": "{\"assets\":[\"/Game/Props/SM_Crate\",\"/Game/Props/MI_Crate\"]}"}
],
"stopOnError": true
}

argsJson is a JSON object string; each result carries ok, resultJson and milliseconds. Wrap the batch in edit.begin_transaction {title:"Import crate"} ... edit.end_transaction when the user should be able to undo it in one step.

Recipe: asset dependency cleanup​

  1. asset.list_redirectors {folder:"/Game", recursive:true} -> asset.fix_redirectors {folder:"/Game"}.
  2. asset.find_unused {class:"Object", folder:"/Game/Old"} (maps and assets referenced only by /Script/ count as unused) and asset.get_size_report {folder:"/Game"} to pick targets.
  3. Before deleting: asset.get_referencers {asset:"T_Old", recursive:true, maxDepth:2} and asset.find_circular_dependencies {asset:"BP_Hub"}.
  4. asset.consolidate {target:"/Game/Textures/T_Rock", assets:["/Game/Old/T_Rock2", "/Game/Old/T_Rock_copy"]} redirects every reference and deletes the duplicates; asset.delete_many {assets:[...]} for the rest (force:true nulls out remaining references, so avoid it unless the referencers are being deleted too).
  5. asset.validate {assets:[...]} on the survivors, then asset.save_all.

Recipe: organise a messy folder​

  1. asset.find_naming_violations {folder:"/Game/Imported"} and asset.organize_by_class {folder:"/Game/Imported", dryRun:true} - read the planned changes.
  2. Adjust with an explicit mapping when the defaults are wrong ([{"class":"Texture","subfolder":"Tex","prefix":"TX_"}]).
  3. Run both for real: asset.apply_naming_prefix {folder, dryRun:false} first, then asset.organize_by_class {folder, dryRun:false} (rename before moving).
  4. asset.fix_redirectors {folder:"/Game", recursive:true} to clean up after the moves.
  5. asset.list_empty_folders {folder:"/Game/Imported"} -> asset.delete_empty_folders {folder:"/Game/Imported", dryRun:false}.
  6. asset.save_dirty {prompt:false} (or asset.save_all).

Recipe: fill a data table​

  1. asset.create_data_table {folder, name, source:"MyRowStruct"} (or asset.data_table_set_row_struct on an existing one - it drops every row).
  2. asset.data_table_info {asset} to read the column names to use (authored names).
  3. asset.data_table_add_row {asset, row:"Sword", values:[{"key":"Damage","value":"12"}]} per row, or import.csv_to_data_table / asset.data_table_import_csv for a whole file.
  4. asset.data_table_find_rows {asset, column:"Damage", value:"12"} to verify and asset.data_table_export_json {asset} to read it back.
  5. asset.save {asset}.

Recipe: collections as a working set​

  1. asset.collection_from_search {name:"ReviewMe", folder:"/Game/Characters", classFilter:"SkeletalMesh"}.
  2. asset.add_to_collection {collection:"ReviewMe", assets:[...]} for extras and asset.set_collection_color {collection:"ReviewMe", r:1, g:0.6, b:0.1} to make it visible.
  3. asset.get_collection_assets {collection:"ReviewMe"} feeds any bulk tool.
  4. asset.delete_collection {collection:"ReviewMe", recursive:true} when done (assets are untouched).

Recipe: import with exact factory options​

  1. import.get_options {format:"fbx"} - the options list gives every key and its default, including nested ones such as ImportUI.bImportMaterials.
  2. import.with_options {file, folder, name, options:[{"key":"ImportUI.bImportMaterials","value":"false"}]}, or import.batch {tasks:[...]} for a whole directory in one call.
  3. import.get_last_import_log for the warnings the importer produced.
  4. import.can_reimport {asset} / import.set_source_file when the source moved, then import.reimport_many {assets} (or import.reimport_folder {folder, dryRun:true} first).

Gotchas​

  • Tools marked Mutates in the schema run inside an editor transaction and are undoable with edit.undo; edit.begin_transaction groups several into one step. File imports on disk are not transactional (the source file itself is untouched, but the created asset is).
  • Destructive tools: asset.delete, asset.delete_many (force:true nulls references), asset.delete_folder, asset.consolidate, asset.revert. asset.delete refuses while referencers exist; check asset.get_referencers first.
  • asset.delete, asset.delete_many and asset.delete_folder are NonUndoable (reply undoable:false): the packages are removed from disk, and when the undo history still references a deleted asset (for example through a deleted actor) the history is cleared, as the editor's own delete does. References held by deleted actors are cleared too, so the same path can be created again in the same session. edit.call_many {atomic:true} and atomic edit.run_workflow refuse them up front; delete in a separate call (workflow cleanup lists run their steps directly). A checkpoint rollback after a delete reports non_undoable_call (and history_reset when the history was cleared) and never claims complete.
  • Nothing is auto-saved: asset.save / asset.save_many / asset.save_all (or save:true on the create/import tools) write to disk. asset.save_all before play.start so PIE sees the latest compiled state.
  • asset.rename_many and asset.find_unused can touch hundreds of assets: use dryRun:true and a folder filter first. Bulk tools (*_many, asset.validate) report per-item failed entries instead of aborting.
  • Source control tools (asset.checkout, asset.revert, asset.get_source_control_state) do nothing useful when edit.sc_info reports enabled:false.
  • Two tools in this kit can open a modal window and must never be called from an unattended editor: asset.copy_folder_to_plugin (the engine's advanced copy prompts to save, then confirms) and asset.save_dirty with prompt:true. Everything else in the kit is dialog-free by construction; asset.consolidate writes the dirtied packages to disk as part of the operation.
  • import.* and asset.import_file need a source file on disk reachable by the editor process; they are not smoke-tested for that reason (see Docs/dev/KIT_AUTHORING.md).
  • Collections are project-global state stored next to the project, not content assets: they are not undoable with edit.undo and asset.delete_collection is permanent. Names are sanitised, so "My Set" becomes My_Set - use the sanitised name in follow-up calls (every reply echoes it).
  • asset.organize_by_class, asset.apply_naming_prefix and asset.delete_empty_folders move or delete in bulk: run them once with dryRun:true and read changes / folders first, then run asset.fix_redirectors afterwards.
  • asset.unload_packages, asset.reload_packages and asset.clear_dirty discard work. They refuse dirty packages unless includeDirty:true, and anything another tool reported about those packages is stale afterwards.
  • Data table columns of a user-defined struct have mangled internal names; address them by their authored name (asset.data_table_info lists both). Unknown columns are reported in problems rather than failing the whole write.
  • asset.get_derived_classes and asset.get_class_ancestors answer from the asset registry, which only knows what it scanned: call asset.scan_paths first when a Blueprint was just written to disk outside the editor, and asset.wait_for_registry right after startup.
  • import.get_options is the reliable way to find an option key: factory property names differ per engine version, and import.with_options reports unknown keys as warnings in log instead of failing the import.

Tools​

Legend. risk 0 = read-only, 1 = harmless editor op, 2 = modifies asset, 3 = deletes/replaces asset, 4 = project/config/build op, 5 = potentially destructive (calls above MaxAutoRisk need "_confirm": true). mutates = runs in a transaction (edit.undo reverts). requires PIE / requires world = refused without a PIE session / an open level. requires plugin = unavailable while the plugin is disabled. dryRun = honours the dryRun argument. smoke = covered by edit.self_test.

asset.add_to_collection (risk 4, mutates, smoke)​

Adds assets to a static collection. Missing assets are reported, the rest are still added.

ArgumentTypeDescription
collectionstringrequired.
shareTypestringDefault TEXT("local").
assetsarray of stringrequired. Assets to add/remove (object path, package path or unique name).

Returns: collection, message, assets, count.

asset.apply_naming_prefix (risk 3, mutates, dryRun, smoke)​

Renames assets so each class carries its naming prefix (BP_, M_, MI_, T_, SM_, SK_, S_ by default). Run with dryRun first.

ArgumentTypeDescription
folderstringrequired.
mappingarray of UeaClassFolderRuleClass -> sub-folder / prefix rules. Empty uses the built-in defaults.
recursivebooleanDefault true.
dryRunbooleanOnly report what would change. Default false.
limitintegerDefault 500.

Returns: changes, count, failedCount, dryRun, rulesUsed.

asset.asset_manager_scan (risk 1, smoke)​

Registers content folders with the asset manager as a primary asset type and scans them.

ArgumentTypeDescription
pathsarray of stringrequired. Content folders to scan, e.g. ["/Game/Items"].
typestringrequired. Primary asset type to register the results under.
baseClassstringrequired. Base class of the primary assets, e.g. "PrimaryDataAsset".
hasBlueprintClassesbooleanThe assets are Blueprint classes rather than instances. Default false.
editorOnlybooleanRegister the type as editor-only. Default false.

Returns: type, numScanned, assets, message.

asset.checkout (risk 4)​

Checks assets out (or marks them for add) in the active source control provider. Not smoke-tested: needs a provider.

ArgumentTypeDescription
assetsarray of stringrequired. Asset references (object path, package path or unique bare name).

Returns: succeeded, failed, succeededCount, failedCount.

asset.clear_dirty (risk 3)​

Clears the dirty flag without saving (the changes stay in memory but the editor stops offering to save). Not smoke-tested: it would hide real unsaved changes of the session.

ArgumentTypeDescription
assetsarray of stringrequired. Asset references (object path, package path or unique bare name).

Returns: succeeded, failed, succeededCount, failedCount.

asset.close_all_editors (risk 0, smoke)​

Closes every open asset editor window.

No arguments.

Returns: message.

asset.close_editor (risk 0, smoke)​

Closes the editor windows of one asset.

ArgumentTypeDescription
assetstringrequired. Object path (/Game/Foo/Bar.Bar), package path (/Game/Foo/Bar) or unique bare name.

Returns: message.

asset.collection_from_search (risk 4, mutates, smoke)​

Creates (or refills) a static collection from a registry search: folder + class + name substring.

ArgumentTypeDescription
namestringrequired. Name of the collection to create (or fill when it already exists).
shareTypestringDefault TEXT("local").
folderstringFolder to search. Default "/Game".
classFilterstringOptional class filter, e.g. "Material".
nameContainsstringOptional name substring filter.
recursivebooleanDefault true.
limitintegerDefault 500.

Returns: collection, message, assets, count.

asset.composite_table_set_parents (risk 3, mutates)​

Sets the parent tables of a CompositeDataTable (lowest priority first). Not smoke-tested: the smoke chain creates no composite table.

ArgumentTypeDescription
assetstringrequired. CompositeDataTable asset.
parentsarray of stringrequired. Parent data tables, lowest priority first.

Returns: asset, rowStruct, columns, rowCount, sampleRows, composite, parentTables.

asset.consolidate (risk 5, mutates, destructive, smoke)​

Consolidates duplicates: every reference to Assets is redirected to Target and the duplicates are deleted.

ArgumentTypeDescription
targetstringrequired. Asset that survives; every reference to the others is redirected to it.
assetsarray of stringrequired. Assets to merge into Target and delete.

Returns: succeeded, failed, succeededCount, failedCount.

asset.copy_folder_to_plugin (risk 4, mutates)​

Copies a content folder into a plugin's content (advanced copy: dependencies are copied too). INTERACTIVE ONLY: the engine's advanced copy prompts to save and then opens a modal confirmation window, which freezes an unattended editor. Not smoke-tested for that reason.

ArgumentTypeDescription
folderstringrequired. Source content folder.
pluginstringrequired. Target plugin name or its mount point ("MyPlugin" or "/MyPlugin").
subfolderstringSub-folder inside the plugin content, e.g. "Imported".

Returns: message.

asset.count (risk 0, smoke)​

Number of assets under a folder (optionally of one class).

ArgumentTypeDescription
folderstringRoot folder. Default "/Game".
classstringOptional class filter.
recursivebooleanDefault true.

Returns: count, result.

asset.create (risk 2, mutates, smoke)​

Creates an asset of any class that has a "new asset" factory (Material, SoundCue, DataAsset, ...). Factory properties can be set by name.

ArgumentTypeDescription
classstringrequired. Asset class name or path (e.g. "Material", "DataTable", "/Script/Engine.SoundCue").
folderstringrequired.
namestringrequired.
factorystringFactory class name (e.g. "MaterialInstanceConstantFactoryNew"). Empty = first factory that can create the class.
factoryPropertiesarray of UeaKeyValueFactory properties to set before creation (e.g. InitialParent, Struct, DataAssetClass).
savebooleanSave the new asset to disk immediately. Default false.

Returns: asset, factory, saved, notes.

asset.create_collection (risk 4, mutates, smoke)​

Creates a collection. Names are sanitised (only letters, digits, "_" and "-" survive). Collections are project-global, not content assets.

ArgumentTypeDescription
namestringrequired. Collection name. Characters that collections cannot store are replaced by "_".
shareTypestring"local" (default), "private" or "shared". Default TEXT("local").
storageModestring"static" (default, a list of assets) or "dynamic" (a saved content-browser query). Default TEXT("static").
parentstringOptional parent collection name.
querystringQuery text for a dynamic collection.

Returns: collection, message, assets, count.

asset.create_curve (risk 2, mutates, smoke)​

Creates a CurveFloat / CurveVector / CurveLinearColor asset.

ArgumentTypeDescription
folderstringrequired.
namestringrequired.
typestring"float", "vector" or "linearcolor". Default TEXT("float").
savebooleanDefault false.

Returns: asset, factory, saved, notes.

asset.create_data_asset (risk 2, mutates, smoke)​

Creates a DataAsset (or PrimaryDataAsset) instance of a class (source = class name or Blueprint).

ArgumentTypeDescription
folderstringrequired.
namestringrequired.
sourcestringParent material (material instance), row struct (data table), class (data asset / physical material), skeletal mesh (physics asset) or template level (level).
savebooleanDefault false.

Returns: asset, factory, saved, notes.

asset.create_data_table (risk 2, mutates, smoke)​

Creates a DataTable for a row struct (source = struct name/path, e.g. "MyRowStruct" or a user-defined struct asset).

ArgumentTypeDescription
folderstringrequired.
namestringrequired.
sourcestringParent material (material instance), row struct (data table), class (data asset / physical material), skeletal mesh (physics asset) or template level (level).
savebooleanDefault false.

Returns: asset, factory, saved, notes.

asset.create_enum (risk 2, mutates, smoke)​

Creates a user-defined Enum with the given enumerator names.

ArgumentTypeDescription
folderstringrequired.
namestringrequired.
valuesarray of stringrequired. Enumerator display names in order.
savebooleanDefault false.

Returns: asset, factory, saved, notes.

asset.create_folder (risk 1, mutates, smoke)​

Creates a content folder (and parents).

ArgumentTypeDescription
folderstringrequired. Content folder, e.g. "/Game/Levels".
recursivebooleanDefault false.

Returns: message.

asset.create_folders (risk 1, mutates, smoke)​

Creates a list of content folders (and their parents).

ArgumentTypeDescription
foldersarray of stringrequired. Content folders to create, e.g. ["/Game/Art/Textures", "/Game/Art/Materials"].

Returns: succeeded, failed, succeededCount, failedCount.

asset.create_font (risk 2, mutates, smoke)​

Creates a runtime Font asset (add font faces afterwards with object.set_property).

ArgumentTypeDescription
folderstringrequired.
namestringrequired.
savebooleanDefault false.

Returns: asset, factory, saved, notes.

asset.create_level (risk 2, mutates, smoke)​

Creates a new level asset (source = optional template level to copy). Does not open it; use edit.load_map.

ArgumentTypeDescription
folderstringrequired.
namestringrequired.
sourcestringParent material (material instance), row struct (data table), class (data asset / physical material), skeletal mesh (physics asset) or template level (level).
savebooleanDefault false.

Returns: asset, factory, saved, notes.

asset.create_material (risk 2, mutates, smoke)​

Creates an empty Material.

ArgumentTypeDescription
folderstringrequired.
namestringrequired.
savebooleanDefault false.

Returns: asset, factory, saved, notes.

asset.create_material_function (risk 2, mutates, smoke)​

Creates a Material Function.

ArgumentTypeDescription
folderstringrequired.
namestringrequired.
savebooleanDefault false.

Returns: asset, factory, saved, notes.

asset.create_material_instance (risk 2, mutates, smoke)​

Creates a Material Instance Constant with the given parent material (source).

ArgumentTypeDescription
folderstringrequired.
namestringrequired.
sourcestringParent material (material instance), row struct (data table), class (data asset / physical material), skeletal mesh (physics asset) or template level (level).
savebooleanDefault false.

Returns: asset, factory, saved, notes.

asset.create_object_library (risk 2, mutates, smoke)​

Creates an ObjectLibrary.

ArgumentTypeDescription
folderstringrequired.
namestringrequired.
savebooleanDefault false.

Returns: asset, factory, saved, notes.

asset.create_physical_material (risk 2, mutates, smoke)​

Creates a PhysicalMaterial (source = optional PhysicalMaterial subclass).

ArgumentTypeDescription
folderstringrequired.
namestringrequired.
sourcestringParent material (material instance), row struct (data table), class (data asset / physical material), skeletal mesh (physics asset) or template level (level).
savebooleanDefault false.

Returns: asset, factory, saved, notes.

asset.create_physics_asset (risk 2, mutates)​

Creates a PhysicsAsset for a skeletal mesh (source = skeletal mesh) using the default body setup. Not smoke-tested: the factory can open a modal options dialog.

ArgumentTypeDescription
folderstringrequired.
namestringrequired.
sourcestringParent material (material instance), row struct (data table), class (data asset / physical material), skeletal mesh (physics asset) or template level (level).
savebooleanDefault false.

Returns: asset, factory, saved, notes.

asset.create_render_target (risk 2, mutates, smoke)​

Creates a TextureRenderTarget2D.

ArgumentTypeDescription
folderstringrequired.
namestringrequired.
widthintegerDefault 256.
heightintegerDefault 256.
savebooleanDefault false.

Returns: asset, factory, saved, notes.

asset.create_sound_class (risk 2, mutates, smoke)​

Creates a SoundClass.

ArgumentTypeDescription
folderstringrequired.
namestringrequired.
savebooleanDefault false.

Returns: asset, factory, saved, notes.

asset.create_sound_cue (risk 2, mutates, smoke)​

Creates a SoundCue (source = optional SoundWave to wire as the first node when supported).

ArgumentTypeDescription
folderstringrequired.
namestringrequired.
sourcestringParent material (material instance), row struct (data table), class (data asset / physical material), skeletal mesh (physics asset) or template level (level).
savebooleanDefault false.

Returns: asset, factory, saved, notes.

asset.create_sound_mix (risk 2, mutates, smoke)​

Creates a SoundMix.

ArgumentTypeDescription
folderstringrequired.
namestringrequired.
savebooleanDefault false.

Returns: asset, factory, saved, notes.

asset.create_string_table (risk 2, mutates, smoke)​

Creates a StringTable.

ArgumentTypeDescription
folderstringrequired.
namestringrequired.
savebooleanDefault false.

Returns: asset, factory, saved, notes.

asset.create_struct (risk 2, mutates, smoke)​

Creates a user-defined Struct with typed fields.

ArgumentTypeDescription
folderstringrequired.
namestringrequired.
fieldsarray of UeaStructFieldrequired.
savebooleanDefault false.

Returns: asset, factory, saved, notes.

asset.curve_add_key (risk 2, mutates, smoke)​

Adds one key to a curve channel.

ArgumentTypeDescription
assetstringrequired.
channelstring
timenumberrequired.
valuenumberrequired.
interpstring"linear" (default), "constant", "cubic" or "none". Default TEXT("linear").

Returns: asset, type, channels.

asset.curve_clear (risk 3, mutates, destructive, smoke)​

Removes every key of a curve (all channels when channel is empty).

ArgumentTypeDescription
assetstringrequired.
channelstringChannel: "value" (float), "x"/"y"/"z" (vector) or "r"/"g"/"b"/"a" (colour). Empty = every channel.

Returns: asset, type, channels.

asset.curve_evaluate (risk 0, smoke)​

Evaluates a curve at a time (every channel unless one is named).

ArgumentTypeDescription
assetstringrequired.
timenumberrequired.
channelstring

Returns: asset, time, values, value.

asset.curve_get_keys (risk 0, smoke)​

Keys of a curve channel (time, value, interpolation, tangents).

ArgumentTypeDescription
assetstringrequired.
channelstringChannel: "value" (float), "x"/"y"/"z" (vector) or "r"/"g"/"b"/"a" (colour). Empty = every channel.

Returns: asset, type, channels.

asset.curve_info (risk 0, smoke)​

Type and per-channel key statistics of a CurveFloat / CurveVector / CurveLinearColor.

ArgumentTypeDescription
assetstringrequired.
channelstringChannel: "value" (float), "x"/"y"/"z" (vector) or "r"/"g"/"b"/"a" (colour). Empty = every channel.

Returns: asset, type, channels.

asset.curve_remove_key (risk 3, mutates, destructive, smoke)​

Removes one key of a curve channel, by index or by time.

ArgumentTypeDescription
assetstringrequired.
channelstring
indexintegerIndex of the key to remove; -1 uses time instead. Default -1.
timenumberTime of the key to remove (used when index is -1). Default 0.0.
tolerancenumberTime tolerance when matching by time. Default 0.001.

Returns: asset, type, channels.

asset.curve_set_interpolation (risk 2, mutates, smoke)​

Sets the interpolation mode of every key of a curve channel.

ArgumentTypeDescription
assetstringrequired.
channelstring
interpstringrequired. "linear", "constant", "cubic" or "none".

Returns: asset, type, channels.

asset.curve_set_keys (risk 2, mutates, smoke)​

Replaces every key of a curve channel.

ArgumentTypeDescription
assetstringrequired.
channelstringChannel to replace. Empty = the first channel.
keysarray of UeaCurveKeyrequired. The complete new key list, replacing the current one.

Returns: asset, type, channels.

asset.data_asset_get (risk 0, smoke)​

Every editable property of a DataAsset with its current value as text.

ArgumentTypeDescription
assetstringrequired. Object path (/Game/Foo/Bar.Bar), package path (/Game/Foo/Bar) or unique bare name.

Returns: asset, class, properties, problems.

asset.data_asset_set (risk 2, mutates, smoke)​

Writes properties of a DataAsset from their text form.

ArgumentTypeDescription
assetstringrequired.
valuesarray of UeaKeyValuerequired. Property -> value as text.
savebooleanDefault false.

Returns: asset, class, properties, problems.

asset.data_table_add_row (risk 2, mutates, smoke)​

Adds a row (default values, then the given cells).

ArgumentTypeDescription
assetstringrequired.
rowstringrequired.
valuesarray of UeaKeyValueColumn -> value as text (the same text the details panel accepts).

Returns: asset, row, rowCount, problems.

asset.data_table_clear (risk 5, mutates, destructive, smoke)​

Removes every row of a DataTable (the row struct is kept).

ArgumentTypeDescription
assetstringrequired. Object path (/Game/Foo/Bar.Bar), package path (/Game/Foo/Bar) or unique bare name.

Returns: asset, rowStruct, columns, rowCount, sampleRows, composite, parentTables.

asset.data_table_duplicate_row (risk 2, mutates, smoke)​

Duplicates a row under a new name.

ArgumentTypeDescription
assetstringrequired.
rowstringrequired.
newNamestringrequired. New row name (asset.data_table_rename_row) or the name of the copy (asset.data_table_duplicate_row).

Returns: asset, row, rowCount, problems.

asset.data_table_export (risk 0, smoke)​

Exports a DataTable as CSV or JSON text (optionally to a file).

ArgumentTypeDescription
assetstringrequired.
formatstring"csv" (default) or "json". Default TEXT("csv").
savePathstringOptional absolute file path to also write.

Returns: text, lines, savedTo, problems.

asset.data_table_export_json (risk 0, smoke)​

Exports a DataTable as JSON text.

ArgumentTypeDescription
assetstringrequired. Object path (/Game/Foo/Bar.Bar), package path (/Game/Foo/Bar) or unique bare name.

Returns: text, lines, savedTo, problems.

asset.data_table_fill (risk 2, mutates, smoke)​

Fills a DataTable from CSV or JSON text (or a file). Existing rows are replaced.

ArgumentTypeDescription
assetstringrequired.
textstringCSV or JSON text (first CSV column = row name). Ignored when File is set.
filestringAbsolute path of a .csv / .json file.
formatstring"csv" (default) or "json". Default TEXT("csv").

Returns: text, lines, savedTo, problems.

asset.data_table_find_rows (risk 0, smoke)​

Rows whose column matches a value (exact or substring).

ArgumentTypeDescription
assetstringrequired.
columnstringrequired.
valuestringrequired. Value to look for (text form).
containsbooleanSubstring match instead of equality. Default false.
limitintegerDefault 100.

Returns: asset, rows, total, returned.

asset.data_table_get_row (risk 0, smoke)​

Every cell of one row.

ArgumentTypeDescription
assetstringrequired.
rowstringrequired. Row name.

Returns: asset, row, rowCount, problems.

asset.data_table_import_csv (risk 3, mutates, smoke)​

Replaces every row of a DataTable from CSV text (or a .csv file).

ArgumentTypeDescription
assetstringrequired.
csvstringCSV text (asset.data_table_import_csv) or JSON text (asset.data_table_import_json). Ignored when file is set.
jsonstringJSON text. Ignored when file is set.
filestringAbsolute path of a .csv / .json file to read instead.

Returns: text, lines, savedTo, problems.

asset.data_table_import_json (risk 3, mutates, smoke)​

Replaces every row of a DataTable from JSON text (or a .json file).

ArgumentTypeDescription
assetstringrequired.
csvstringCSV text (asset.data_table_import_csv) or JSON text (asset.data_table_import_json). Ignored when file is set.
jsonstringJSON text. Ignored when file is set.
filestringAbsolute path of a .csv / .json file to read instead.

Returns: text, lines, savedTo, problems.

asset.data_table_info (risk 0, smoke)​

Row struct, columns with their types and row count of a DataTable (or CompositeDataTable).

ArgumentTypeDescription
assetstringrequired. Object path (/Game/Foo/Bar.Bar), package path (/Game/Foo/Bar) or unique bare name.

Returns: asset, rowStruct, columns, rowCount, sampleRows, composite, parentTables.

asset.data_table_list_rows (risk 0, smoke)​

Row names of a DataTable, with paging and an optional name filter.

ArgumentTypeDescription
assetstringrequired.
nameContainsstringOnly rows whose name contains this substring.
includeValuesbooleanAlso return every cell of each row. Default false.
limitintegerDefault 100.
offsetintegerDefault 0.

Returns: asset, rows, total, returned.

asset.data_table_remove_row (risk 3, mutates, destructive, smoke)​

Removes one row.

ArgumentTypeDescription
assetstringrequired.
rowstringrequired. Row name.

Returns: asset, rows, total, returned.

asset.data_table_rename_row (risk 2, mutates, smoke)​

Renames a row.

ArgumentTypeDescription
assetstringrequired.
rowstringrequired.
newNamestringrequired. New row name (asset.data_table_rename_row) or the name of the copy (asset.data_table_duplicate_row).

Returns: asset, row, rowCount, problems.

asset.data_table_reorder_row (risk 2, mutates, smoke)​

Moves a row up or down in the table order.

ArgumentTypeDescription
assetstringrequired.
rowstringrequired.
directionstring"up" or "down". Default TEXT("up").
stepsintegerHow many positions to move (1 or more). Default 1.

Returns: asset, rows, total, returned.

asset.data_table_set_cell (risk 2, mutates, smoke)​

Writes one cell of one row.

ArgumentTypeDescription
assetstringrequired.
rowstringrequired.
columnstringrequired. Column name (authored name or internal property name).
valuestringrequired. New value as text.

Returns: asset, row, rowCount, problems.

asset.data_table_set_row (risk 2, mutates, smoke)​

Writes several cells of one row (the row must exist).

ArgumentTypeDescription
assetstringrequired.
rowstringrequired.
valuesarray of UeaKeyValueColumn -> value as text (the same text the details panel accepts).

Returns: asset, row, rowCount, problems.

asset.data_table_set_row_struct (risk 3, mutates, smoke)​

Changes the row struct of a DataTable. Every existing row is dropped.

ArgumentTypeDescription
assetstringrequired.
rowStructstringrequired. Row struct: a native struct name ("TableRowBase") or a user defined struct asset path.

Returns: asset, rowStruct, columns, rowCount, sampleRows, composite, parentTables.

asset.delete (risk 3, mutates, destructive, smoke)​

Deletes an asset. Fails if it is still referenced unless Force is used via settings.

ArgumentTypeDescription
assetstringrequired. Object path (/Game/Foo/Bar.Bar), package path (/Game/Foo/Bar) or unique bare name.

Returns: message.

asset.delete_collection (risk 4, mutates, destructive, smoke)​

Destroys a collection (its assets are untouched). With recursive=true child collections go first.

ArgumentTypeDescription
collectionstringrequired.
shareTypestringDefault TEXT("local").
recursivebooleanAlso destroy every child collection (depth first). Default false.

Returns: message.

asset.delete_empty_folders (risk 3, mutates, destructive, dryRun, smoke)​

Deletes the empty content folders under a root. Run with dryRun first.

ArgumentTypeDescription
folderstringrequired. Root to inspect. Default "/Game".
dryRunbooleanDefault false.
limitintegerDefault 500.

Returns: folders, total, deleted, dryRun.

asset.delete_folder (risk 5, mutates, destructive, smoke)​

Deletes a content folder and every asset inside it.

ArgumentTypeDescription
folderstringrequired. Content folder, e.g. "/Game/Levels".
recursivebooleanDefault false.

Returns: message.

asset.delete_many (risk 5, mutates, destructive, smoke)​

Deletes many assets. With force=true references are nulled out (dangerous).

ArgumentTypeDescription
assetsarray of stringrequired.
forcebooleanForce-delete even when the asset is still referenced (references are nulled). Default false.

Returns: succeeded, failed, succeededCount, failedCount.

asset.diff_folders (risk 0, smoke)​

Compares two folders by asset name: only in A, only in B, in both.

ArgumentTypeDescription
astringrequired. First folder.
bstringrequired. Second folder.
recursivebooleanDefault true.

Returns: onlyInA, onlyInB, inBoth, countA, countB.

asset.duplicate (risk 2, mutates, smoke)​

Duplicates an asset to a folder under a new name.

ArgumentTypeDescription
assetstringrequired.
folderstringDestination folder. Defaults to the source folder.
newNamestringrequired.

Returns: asset.

asset.duplicate_folder (risk 2, mutates, smoke)​

Duplicates a content folder and its assets.

ArgumentTypeDescription
folderstringrequired.
newFolderstringrequired.

Returns: message.

asset.duplicate_many (risk 2, mutates, smoke)​

Duplicates many assets into a folder (same names).

ArgumentTypeDescription
assetsarray of stringrequired.
folderstringrequired. Destination content folder.

Returns: succeeded, failed, succeededCount, failedCount.

asset.empty_collection (risk 4, mutates, destructive, smoke)​

Removes every asset from a collection without destroying it.

ArgumentTypeDescription
collectionstringrequired. Collection name. Characters that collections cannot store are replaced by "_".
shareTypestring"local" (default), "private" or "shared". Default TEXT("local").

Returns: collection, message, assets, count.

asset.exists (risk 0, smoke)​

True when the asset exists; returns its info.

ArgumentTypeDescription
assetstringrequired. Object path (/Game/Foo/Bar.Bar), package path (/Game/Foo/Bar) or unique bare name.

Returns: asset.

asset.exists_many (risk 0, smoke)​

Which of the given assets exist (registry lookup, nothing is loaded).

ArgumentTypeDescription
assetsarray of stringrequired. Asset references (object path, package path or unique bare name).

Returns: existing, missing.

asset.find (risk 0, smoke)​

Finds assets by name substring, folder and class.

ArgumentTypeDescription
namestringSubstring of the asset name (case-insensitive). Empty lists everything under the folder.
folderstringRoot folder, e.g. "/Game/Characters". Default "/Game".
classstringClass filter, e.g. "Blueprint", "StaticMesh", "Texture2D", "World".
recursivebooleanDefault true.
limitintegerDefault 200.

Returns: assets, total.

asset.find_blueprints_by_parent (risk 0, smoke)​

Finds Blueprint assets whose parent class is (or derives from) the given class.

ArgumentTypeDescription
parentClassstringrequired. Parent class (native like "Character" or a Blueprint path).
folderstring
includeSubclassesbooleanAlso match Blueprints whose parent is a subclass of ParentClass (loads the Blueprints). Default true.
limitintegerDefault 200.

Returns: assets, total.

asset.find_by_class (risk 0, smoke)​

Finds assets by class with explicit control over derived classes and on-disk only results.

ArgumentTypeDescription
classstringrequired. Class name or path, e.g. "StaticMesh" or "/Script/Engine.Texture2D".
folderstring
includeDerivedbooleanInclude subclasses (e.g. "Texture" also lists Texture2D, TextureCube). Default true.
recursivebooleanDefault true.
onDiskOnlybooleanOnly assets known from disk (skips in-memory only objects). Default false.
limitintegerDefault 200.

Returns: assets, total.

asset.find_by_tag (risk 0, smoke)​

Finds assets by asset-registry tag and value (e.g. tag=ParentClass, value contains "Character").

ArgumentTypeDescription
tagstringrequired. Asset registry tag, e.g. "ParentClass", "RowStructure", "NumFrames".
valuestringExact value. Empty = any asset carrying the tag.
containsbooleanSubstring match on the value instead of equality. Default false.
folderstring
classstring
limitintegerDefault 200.

Returns: assets, total.

asset.find_circular_dependencies (risk 0, smoke)​

Detects dependency cycles that go through the asset (A -> B -> A).

ArgumentTypeDescription
assetstringrequired.
hardbooleanInclude hard references (default true). Default true.
softbooleanInclude soft references (default true). Default true.
recursivebooleanWalk transitively. Default false.
maxDepthintegerMaximum depth when recursive (1-10). Default 3.
includeScriptbooleanInclude /Script/ (native code) packages. Default false.
limitintegerDefault 500.

Returns: root, cycles, packagesVisited.

asset.find_duplicates_by_name (risk 0, smoke)​

Assets sharing the same name in different folders.

ArgumentTypeDescription
folderstringrequired. Folder to audit. Default "/Game".
recursivebooleanDefault true.
limitintegerDefault 200.

Returns: duplicates, total.

asset.find_missing_references (risk 0, smoke)​

References (hard and soft) in a folder that point at packages which no longer exist.

ArgumentTypeDescription
folderstringrequired. Folder to audit. Default "/Game".
recursivebooleanDefault true.
limitintegerDefault 200.

Returns: missing, assetsChecked, total.

asset.find_naming_violations (risk 0, smoke)​

Assets whose name does not carry the prefix expected for their class.

ArgumentTypeDescription
folderstringrequired.
mappingarray of UeaClassFolderRuleClass -> sub-folder / prefix rules. Empty uses the built-in defaults.
recursivebooleanDefault true.
dryRunbooleanOnly report what would change. Default false.
limitintegerDefault 500.

Returns: changes, count, failedCount, dryRun, rulesUsed.

asset.find_orphans (risk 0, smoke)​

Assets in a folder that nothing outside that folder references (cleanup candidates).

ArgumentTypeDescription
folderstringrequired. Folder to audit. Default "/Game".
recursivebooleanDefault true.
limitintegerDefault 200.

Returns: assets, total, returned, offset.

asset.find_unused (risk 0, smoke)​

Assets nothing references (candidates for cleanup). Maps and assets referenced only by /Script/ count as unused.

ArgumentTypeDescription
classstringrequired. Class name or path, e.g. "StaticMesh" or "/Script/Engine.Texture2D".
folderstring
includeDerivedbooleanInclude subclasses (e.g. "Texture" also lists Texture2D, TextureCube). Default true.
recursivebooleanDefault true.
onDiskOnlybooleanOnly assets known from disk (skips in-memory only objects). Default false.
limitintegerDefault 200.

Returns: assets, total.

asset.fix_redirectors (risk 3, mutates, dryRun, smoke)​

Fixes up (and deletes) redirectors under a folder so referencers point at the real assets. Loads the referencing packages and rewrites them in memory; pass save=true to write them to disk. Use dryRun=true first to see what would change.

ArgumentTypeDescription
folderstringrequired. Folder to scan for redirectors, e.g. "/Game".
recursivebooleanDefault true.
dryRunbooleanOnly report the redirectors and their referencers; nothing is loaded, changed or deleted. Default false.
savebooleanWrite the updated referencing packages (and the deletions) to disk. Without it the fix-up only lives in memory until something saves. Default false.

Returns: redirectors, referencers, fixed, deleted, saved, failed, dryRun.

asset.folder_has_assets (risk 0, smoke)​

Whether a folder contains assets (count under it).

ArgumentTypeDescription
folderstringrequired. Content folder, e.g. "/Game/Levels".
recursivebooleanDefault false.

Returns: count, result.

asset.fully_load (risk 1, smoke)​

Fully loads a package so every object inside it is in memory.

ArgumentTypeDescription
assetstringrequired. Object path (/Game/Foo/Bar.Bar), package path (/Game/Foo/Bar) or unique bare name.

Returns: package, file, sizeBytes, existsOnDisk, loaded, fullyLoaded, dirty, isMap, cooked, external, flags, objects, modifiedUtc.

asset.get_asset_collections (risk 0, smoke)​

Collections that contain an asset.

ArgumentTypeDescription
assetstringrequired. Asset whose collections are listed.
recursivebooleanAlso report collections that contain the asset through a child collection. Default false.

Returns: collections, total.

asset.get_asset_size_breakdown (risk 0, smoke)​

Disk size of a folder grouped by asset class or by sub-folder.

ArgumentTypeDescription
folderstringrequired.
groupBystring"class" (default) or "subfolder". Default TEXT("class").
recursivebooleanDefault true.
limitintegerDefault 100.

Returns: groups, totalBytes, assetCount, missingOnDisk.

asset.get_browser_folder (risk 0, smoke)​

Folder currently open in the Content Browser.

No arguments.

Returns: folder, selectedFolders.

asset.get_browser_selection (risk 0, smoke)​

Assets and folders selected in the Content Browser.

No arguments.

Returns: assets, folders.

asset.get_by_package (risk 0, smoke)​

Assets stored in one package (a package can hold more than one object).

ArgumentTypeDescription
packagestringrequired. Package name, e.g. "/Game/Art/M_Wall".
includeTagsbooleanDefault false.

Returns: assets, total, returned, offset.

asset.get_class_ancestors (risk 0, smoke)​

Ancestor classes of a class, nearest parent first.

ArgumentTypeDescription
classstringrequired. Class name or path, e.g. "Actor" or "/Script/Engine.Actor".
recursivebooleanWalk the whole subtree instead of the direct children only. Default true.
limitintegerDefault 500.

Returns: class, classes, total.

asset.get_collection_assets (risk 0, smoke)​

Object paths held by a collection, optionally including its child collections.

ArgumentTypeDescription
collectionstringrequired.
shareTypestringDefault TEXT("local").
recursivebooleanInclude the assets of child collections. Default false.
limitintegerDefault 500.

Returns: collection, message, assets, count.

asset.get_dependencies (risk 0, smoke)​

Packages the asset depends on, hard/soft, optionally transitive with depth.

ArgumentTypeDescription
assetstringrequired.
hardbooleanInclude hard references (default true). Default true.
softbooleanInclude soft references (default true). Default true.
recursivebooleanWalk transitively. Default false.
maxDepthintegerMaximum depth when recursive (1-10). Default 3.
includeScriptbooleanInclude /Script/ (native code) packages. Default false.
limitintegerDefault 500.

Returns: root, entries, total.

asset.get_dependency_graph (risk 0, smoke)​

Dependency graph below an asset as edges, up to depth 4, per reference category.

ArgumentTypeDescription
assetstringrequired.
depthintegerWalk depth, 1-4. Default 2.
hardbooleanInclude hard package references. Default true.
softbooleanInclude soft package references. Default true.
searchablebooleanInclude searchable-name dependencies (gameplay tags, curve rows, ...). Default false.
managebooleanInclude asset-manager "manage" dependencies. Default false.
includeScriptbooleanInclude /Script/ (native code) packages. Default false.
limitintegerDefault 500.

Returns: root, nodes, edges, nodeCount, edgeCount, truncated.

asset.get_derived_classes (risk 0, smoke)​

Subclasses of a class known to the asset registry (native classes and Blueprint generated classes).

ArgumentTypeDescription
classstringrequired. Class name or path, e.g. "Actor" or "/Script/Engine.Actor".
recursivebooleanWalk the whole subtree instead of the direct children only. Default true.
limitintegerDefault 500.

Returns: class, classes, total.

asset.get_file_info (risk 0, smoke)​

Package file path, size and timestamp on disk, dirty/loaded/cooked state.

ArgumentTypeDescription
assetstringrequired. Object path (/Game/Foo/Bar.Bar), package path (/Game/Foo/Bar) or unique bare name.

Returns: asset, package, file, sizeBytes, modifiedUtc, existsOnDisk, loaded, dirty, cooked, isMap, isRedirector.

asset.get_metadata (risk 0, smoke)​

Editor metadata tags stored on the asset (UMetaData).

ArgumentTypeDescription
assetstringrequired. Object path (/Game/Foo/Bar.Bar), package path (/Game/Foo/Bar) or unique bare name.

Returns: entries, count.

asset.get_open_editors (risk 0, smoke)​

Assets currently open in asset editor windows.

No arguments.

Returns: assets, total.

asset.get_package_info (risk 0, smoke)​

Package of an asset: file on disk, size, load/dirty state, package flags and the objects it holds.

ArgumentTypeDescription
assetstringrequired. Object path (/Game/Foo/Bar.Bar), package path (/Game/Foo/Bar) or unique bare name.

Returns: package, file, sizeBytes, existsOnDisk, loaded, fullyLoaded, dirty, isMap, cooked, external, flags, objects, modifiedUtc.

asset.get_primary_asset_id (risk 0, smoke)​

Primary asset id of an asset (empty when it is not a primary asset).

ArgumentTypeDescription
assetstringrequired. Object path (/Game/Foo/Bar.Bar), package path (/Game/Foo/Bar) or unique bare name.

Returns: asset, primaryAssetId, type, isPrimaryAsset.

asset.get_referencer_graph (risk 0, smoke)​

Referencer graph above an asset as edges, up to depth 4, per reference category.

ArgumentTypeDescription
assetstringrequired.
depthintegerWalk depth, 1-4. Default 2.
hardbooleanInclude hard package references. Default true.
softbooleanInclude soft package references. Default true.
searchablebooleanInclude searchable-name dependencies (gameplay tags, curve rows, ...). Default false.
managebooleanInclude asset-manager "manage" dependencies. Default false.
includeScriptbooleanInclude /Script/ (native code) packages. Default false.
limitintegerDefault 500.

Returns: root, nodes, edges, nodeCount, edgeCount, truncated.

asset.get_referencers (risk 0, smoke)​

Packages that reference the asset, optionally transitive with depth.

ArgumentTypeDescription
assetstringrequired.
hardbooleanInclude hard references (default true). Default true.
softbooleanInclude soft references (default true). Default true.
recursivebooleanWalk transitively. Default false.
maxDepthintegerMaximum depth when recursive (1-10). Default 3.
includeScriptbooleanInclude /Script/ (native code) packages. Default false.
limitintegerDefault 500.

Returns: root, entries, total.

asset.get_registry_tags (risk 0, smoke)​

Asset registry tags of an asset (ParentClass, NumVertices, RowStructure, ...).

ArgumentTypeDescription
assetstringrequired. Object path (/Game/Foo/Bar.Bar), package path (/Game/Foo/Bar) or unique bare name.

Returns: entries, count.

asset.get_size_report (risk 0, smoke)​

Largest assets on disk under a folder (optionally one class) plus total size per class.

ArgumentTypeDescription
folderstring
classstring
recursivebooleanDefault true.
limitintegerDefault 50.

Returns: largest, byClass, totalBytes, assetCount.

asset.get_source_control_state (risk 0, smoke)​

Source control state of assets (provider, checked out, modified, who has it).

ArgumentTypeDescription
assetsarray of stringrequired. Asset references (object path, package path or unique bare name).

Returns: enabled, provider, states.

asset.get_state_many (risk 0, smoke)​

Existence, loaded/dirty state and size of many assets in one call.

ArgumentTypeDescription
assetsarray of stringrequired. Asset references (object path, package path or unique bare name).

Returns: states, existingCount, missingCount.

asset.get_summary (risk 0, smoke)​

Class, parent, dirty state, dependencies, referencers and editable properties of an asset.

ArgumentTypeDescription
assetstringrequired. Object path (/Game/Foo/Bar.Bar), package path (/Game/Foo/Bar) or unique bare name.

Returns: asset, parentClass, dirty, dependencies, referencers, properties.

asset.import_file (risk 2, mutates)​

Imports a file from disk (FBX, PNG, WAV, ...) into a content folder using the engine importers.

ArgumentTypeDescription
filestringrequired. Absolute path of a file on disk (FBX, PNG, WAV, ...).
folderstringrequired. Destination content folder.
namestringOptional asset name; defaults to the file name.

Returns: assets, total.

asset.label_add_assets (risk 2, mutates)​

No description.

No arguments.

asset.label_get (risk 0)​

No description.

No arguments.

asset.label_remove_assets (risk 3, mutates, destructive)​

No description.

No arguments.

asset.label_set_flags (risk 2, mutates)​

No description.

No arguments.

asset.label_set_redirectors (risk 2, mutates, UE 5.8+)​

No description.

No arguments.

asset.list_by_tag_value (risk 0, smoke)​

Assets whose registry tag has exactly the given value.

ArgumentTypeDescription
tagstringrequired. Registry tag key, e.g. "ParentClass" or "RowStructure".
valuestringrequired. Exact tag value to match.
folderstringFolder to restrict the query to. Default "/Game".
limitintegerDefault 200.

Returns: assets, total, returned, offset.

asset.list_classes (risk 0, smoke)​

Distinct asset classes under a folder with counts.

ArgumentTypeDescription
folderstringRoot folder. Default "/Game".
classstringOptional class filter.
recursivebooleanDefault true.

Returns: classes, total.

asset.list_collections (risk 0, smoke)​

Lists content-browser collections with share type, storage mode, parent and asset count.

ArgumentTypeDescription
containsstringSubstring filter on the collection name. Empty lists every collection.
shareTypestring"local" (default), "private", "shared", "system" or "all". Default TEXT("all").
includeCountsbooleanAlso report how many assets each collection holds (slower). Default true.

Returns: collections, total.

asset.list_content_plugins (risk 0, smoke)​

Enabled plugins that ship content, with their mount point and asset count.

No arguments.

Returns: plugins, total.

asset.list_data_assets (risk 0, smoke)​

DataAssets of a class under a folder.

ArgumentTypeDescription
classstringData asset class filter, e.g. "PrimaryDataAsset". Default "DataAsset".
folderstring
recursivebooleanDefault true.
limitintegerDefault 200.

Returns: assets, total.

asset.list_dirty (risk 0, smoke)​

Content and map packages with unsaved changes.

No arguments.

Returns: packages, total, dirtyCount.

asset.list_empty_folders (risk 0, smoke)​

Content folders under a root that contain no assets at all.

ArgumentTypeDescription
folderstringrequired. Root to inspect. Default "/Game".
dryRunbooleanDefault false.
limitintegerDefault 500.

Returns: folders, total, deleted, dryRun.

asset.list_factories (risk 0, smoke)​

Lists asset factories: which class each creates, whether it can create new assets and the file extensions it imports.

ArgumentTypeDescription
containsstringSubstring filter on factory or supported class name.
limitintegerDefault 300.

Returns: factories, total.

asset.list_folder (risk 0, smoke)​

Lists the sub-folders and assets directly inside a content folder.

ArgumentTypeDescription
folderstringrequired. Content folder, e.g. "/Game/Levels".
recursivebooleanDefault false.

Returns: subFolders, assets.

asset.list_largest (risk 0, smoke)​

Largest assets on disk under a folder, biggest first.

ArgumentTypeDescription
folderstring
classstring
recursivebooleanDefault true.
limitintegerDefault 20.

Returns: assets, totalBytes.

asset.list_loaded_packages (risk 0, smoke)​

Content packages currently loaded in the editor, optionally only the dirty ones.

ArgumentTypeDescription
folderstringOnly report packages under this folder. Empty reports every loaded content package.
dirtyOnlybooleanOnly packages with unsaved changes. Default false.
limitintegerDefault 200.

Returns: packages, total, dirtyCount.

asset.list_mount_points (risk 0, smoke)​

Registered content roots ("/Game/", "/Engine/", plugin mounts) and the folders backing them.

No arguments.

Returns: mountPoints, total.

asset.list_paths (risk 0, smoke)​

Content sub-paths known to the registry under a base folder.

ArgumentTypeDescription
basestringBase content folder. Default "/Game".
recursivebooleanDefault true.
limitintegerDefault 1000.

Returns: paths, total.

asset.list_primary_assets (risk 0, smoke)​

Primary assets registered with the asset manager, optionally of one type.

ArgumentTypeDescription
typestringPrimary asset type, e.g. "Map" or "PrimaryAssetLabel". Empty lists every registered type.
limitintegerDefault 200.

Returns: assets, types, total.

asset.list_recent (risk 0, smoke)​

Most recently modified asset files on disk under a folder.

ArgumentTypeDescription
folderstring
classstring
recursivebooleanDefault true.
limitintegerDefault 50.

Returns: assets.

asset.list_redirectors (risk 0, smoke)​

Lists object redirectors left behind by renames/moves under a folder.

ArgumentTypeDescription
folderstringrequired. Content folder, e.g. "/Game/Levels".
recursivebooleanDefault false.

Returns: assets, total.

asset.list_tags_of_class (risk 0, smoke)​

Distinct registry tag keys seen on assets of a class, with an example value each.

ArgumentTypeDescription
classstringrequired. Class name or path, e.g. "StaticMesh".
folderstring
recursiveClassesbooleanAlso inspect assets of subclasses. Default true.
sampleSizeintegerMaximum number of assets to sample. Default 50.

Returns: tags, assetsSampled.

asset.make_unique_name (risk 0, smoke)​

Finds a free asset name in a folder by appending a counter when needed.

ArgumentTypeDescription
folderstringrequired.
basestringrequired. Base asset name.
suffixstringSuffix appended before the uniqueness counter, e.g. "_Copy".

Returns: name, path, unchanged.

asset.manager_get_asset_bundles (risk 0)​

No description.

ArgumentTypeDescription
primaryAssetIdstringrequired. Primary asset id formatted Type:Name.

asset.manager_get_bundle_state (risk 0, smoke)​

No description.

No arguments.

asset.manager_get_load_set (risk 0)​

No description.

ArgumentTypeDescription
bundlesarray of stringAsset bundles to load, such as Client or Server.
recursivebooleanInclude recursively managed primary assets in the load-set audit. Default false.

asset.manager_get_rules (risk 0)​

No description.

ArgumentTypeDescription
primaryAssetIdstringrequired. Primary asset id formatted Type:Name.

asset.manager_get_type (risk 0, smoke)​

No description.

ArgumentTypeDescription
typestringrequired. Primary asset type, such as Map or PrimaryAssetLabel.

asset.manager_list_assets_in_path (risk 0, smoke)​

No description.

ArgumentTypeDescription
pathstringrequired. Content path to intersect with the registered primary assets.
limitintegerMaximum returned primary assets. Default 200.

asset.manager_list_type_assets (risk 0, smoke)​

No description.

ArgumentTypeDescription
typestringrequired. Primary asset type, such as Map or PrimaryAssetLabel.

asset.manager_load_primary (risk 1)​

No description.

ArgumentTypeDescription
bundlesarray of stringAsset bundles to load, such as Client or Server.
recursivebooleanInclude recursively managed primary assets in the load-set audit. Default false.

asset.manager_status (risk 0, smoke)​

No description.

No arguments.

asset.manager_unload_primary (risk 1)​

No description.

ArgumentTypeDescription
primaryAssetIdstringrequired. Primary asset id formatted Type:Name.

asset.mark_dirty (risk 1, mutates, smoke)​

Marks packages dirty so the editor offers to save them.

ArgumentTypeDescription
assetsarray of stringrequired. Asset references (object path, package path or unique bare name).

Returns: succeeded, failed, succeededCount, failedCount.

asset.move (risk 2, mutates, smoke)​

Moves an asset to another content folder (keeps the name, fixes up referencers).

ArgumentTypeDescription
assetstringrequired.
folderstringrequired. Destination content folder, e.g. "/Game/Characters/Hero".

Returns: asset.

asset.move_folder (risk 3, mutates, smoke)​

Moves a content folder (with every asset in it) under another parent folder.

ArgumentTypeDescription
folderstringrequired. Folder to move, e.g. "/Game/Art/Old".
newParentstringrequired. New parent folder, e.g. "/Game/Archive". The folder keeps its own name.

Returns: message.

asset.move_many (risk 2, mutates, smoke)​

Moves many assets to one folder. Reports per-asset failures instead of stopping.

ArgumentTypeDescription
assetsarray of stringrequired.
folderstringrequired. Destination content folder.

Returns: succeeded, failed, succeededCount, failedCount.

asset.open_editor (risk 1)​

Opens the asset in its editor window.

ArgumentTypeDescription
assetstringrequired. Object path (/Game/Foo/Bar.Bar), package path (/Game/Foo/Bar) or unique bare name.

Returns: asset.

asset.organize_by_class (risk 3, mutates, dryRun, smoke)​

Moves assets of a folder into per-class sub-folders (Blueprints/Materials/Textures/Meshes/Sounds by default). Run with dryRun first.

ArgumentTypeDescription
folderstringrequired.
mappingarray of UeaClassFolderRuleClass -> sub-folder / prefix rules. Empty uses the built-in defaults.
recursivebooleanDefault true.
dryRunbooleanOnly report what would change. Default false.
limitintegerDefault 500.

Returns: changes, count, failedCount, dryRun, rulesUsed.

asset.path_exists (risk 0, smoke)​

Whether a content folder is known to the registry and/or exists on disk, and how many assets it holds.

ArgumentTypeDescription
pathstringrequired. Content folder to test, e.g. "/Game/Art".

Returns: path, knownToRegistry, existsOnDisk, assetCount.

asset.preview (risk 0, smoke)​

Thumbnail of any asset that has a thumbnail renderer (materials, meshes, textures, Blueprints, widgets, Niagara systems, ...) returned as an image.

ArgumentTypeDescription
assetstringrequired. Asset (object path, package path or unique name).
sizeintegerThumbnail edge in pixels (32-1024). Default 256.
formatstringpng or jpg. Default TEXT("png").

Returns: width, height, savedTo, imageBase64, imageMimeType.

asset.query (risk 0, smoke)​

Full asset-registry query: folders, classes, tags and package names in one filter, with limit/offset paging.

ArgumentTypeDescription
packagePathsarray of stringContent folders to search, e.g. ["/Game/Art"]. Empty searches "/Game".
classesarray of stringClass names or paths, e.g. ["Material", "Texture2D"].
recursiveClassesbooleanAlso match subclasses of the listed classes. Default true.
recursivePathsbooleanSearch sub-folders. Default true.
tagsarray of UeaKeyValueTag filters; an empty value matches any asset carrying the tag.
packageNamesarray of stringExact package names to restrict the query to.
onDiskOnlybooleanOnly assets known from disk (skips in-memory only objects). Default false.
includeTagsbooleanReturn every registry tag of each asset. Default false.
limitintegerDefault 200.
offsetintegerDefault 0.

Returns: assets, total, returned, offset.

asset.registry_status (risk 0, smoke)​

Asset registry state: still loading, number of known assets and cached paths.

No arguments.

Returns: loadingAssets, totalAssets, cachedPaths, elapsedSeconds, message.

asset.reload_packages (risk 3)​

Reloads packages from disk, discarding in-memory changes. Not smoke-tested: reloading during a test run invalidates fixtures.

ArgumentTypeDescription
packagesarray of stringrequired. Package names ("/Game/Folder/Asset") or asset references.
includeDirtybooleanUnload/reload even when the package has unsaved changes (the changes are lost). Default false.

Returns: succeeded, failed, succeededCount, failedCount.

asset.remove_from_collection (risk 4, mutates, smoke)​

Removes assets from a static collection.

ArgumentTypeDescription
collectionstringrequired.
shareTypestringDefault TEXT("local").
assetsarray of stringrequired. Assets to add/remove (object path, package path or unique name).

Returns: collection, message, assets, count.

asset.remove_metadata (risk 2, mutates, smoke)​

Removes an editor metadata tag.

ArgumentTypeDescription
assetstringrequired.
keystringrequired.
valuestringUsed by asset.set_metadata.

Returns: entries, count.

asset.rename (risk 2, mutates, smoke)​

Renames or moves an asset (fixes up referencers).

ArgumentTypeDescription
assetstringrequired.
folderstringDestination folder. Defaults to the source folder.
newNamestringrequired.

Returns: asset.

asset.rename_collection (risk 4, mutates, smoke)​

Renames a collection and optionally moves it to another share type.

ArgumentTypeDescription
collectionstringrequired.
shareTypestringDefault TEXT("local").
newNamestringrequired.
newShareTypestringNew share type; empty keeps the current one.

Returns: collection, message, assets, count.

asset.rename_folder (risk 2, mutates, smoke)​

Renames/moves a content folder with all its assets.

ArgumentTypeDescription
folderstringrequired.
newFolderstringrequired.

Returns: message.

asset.rename_many (risk 2, mutates, dryRun, smoke)​

Bulk rename by find/replace, prefix and suffix under a folder. Use dryRun to preview.

ArgumentTypeDescription
folderstringFolder whose assets are renamed. Default "/Game".
findstringSubstring to look for in the asset name (case-insensitive). Empty = match every asset.
replacestringReplacement for Find.
prefixstringPrefix added when the name does not already start with it.
suffixstringSuffix added when the name does not already end with it.
classstringOptional class filter (e.g. "Texture2D").
recursivebooleanDefault true.
dryRunbooleanOnly report what would be renamed. Default false.
limitintegerDefault 500.

Returns: renames, failed, count, dryRun.

asset.render_thumbnail (risk 0, smoke)​

Renders the asset thumbnail (mesh, material, texture, Blueprint, ...) and returns it as a PNG image block.

ArgumentTypeDescription
assetstringrequired.
sizeintegerSquare size in pixels (32-1024). Default 256.
savePathstringOptional absolute PNG path to also write on disk.

Returns: width, height, savedTo, imageBase64, imageMimeType.

asset.reparent_collection (risk 4, mutates, smoke)​

Nests a collection under a parent collection (empty parent = make it a root collection).

ArgumentTypeDescription
collectionstringrequired.
shareTypestringDefault TEXT("local").
parentstringNew parent collection name; empty makes the collection a root collection.
parentShareTypestringDefault TEXT("local").

Returns: collection, message, assets, count.

asset.revert (risk 5, destructive)​

Reverts assets to the source control head revision (local changes are lost). Not smoke-tested: needs a provider.

ArgumentTypeDescription
assetsarray of stringrequired. Asset references (object path, package path or unique bare name).

Returns: succeeded, failed, succeededCount, failedCount.

asset.sanitize_name (risk 0, smoke)​

Turns arbitrary text into a valid asset/package name (invalid characters become "_").

ArgumentTypeDescription
namestringrequired. Name to sanitise.

Returns: name, path, unchanged.

asset.save (risk 2)​

Saves one asset to disk.

ArgumentTypeDescription
assetstringrequired. Object path (/Game/Foo/Bar.Bar), package path (/Game/Foo/Bar) or unique bare name.

Returns: asset.

asset.save_all (risk 2)​

Saves every dirty asset and level.

No arguments.

Returns: savedCount.

asset.save_dirty (risk 2)​

Saves every dirty package to disk. Leave prompt=false: prompt=true opens a modal save dialog that freezes an unattended editor. Not smoke-tested: it would write the session's real unsaved work.

ArgumentTypeDescription
promptbooleanShow the "save these packages?" dialog instead of saving silently. Never set this from an automated session: the dialog is modal and blocks the editor. Default false.
includeMapsbooleanAlso save dirty map (level) packages. Default true.
includeContentbooleanAlso save dirty content packages. Default true.

Returns: savedCount.

asset.save_many (risk 2)​

Saves many assets (only dirty ones unless they are unsaved). Not smoke-tested: writes packages to disk.

ArgumentTypeDescription
assetsarray of stringrequired. Asset references (object path, package path or unique bare name).

Returns: succeeded, failed, succeededCount, failedCount.

asset.sc_add_many (risk 4)​

Marks assets for add. Not smoke-tested: needs an enabled source control provider.

ArgumentTypeDescription
assetsarray of stringrequired. Assets (object or package paths) to act on.
updateStatusbooleanAlso refresh the provider state before acting (slower, more accurate). Default true.

Returns: succeeded, failed, succeededCount, failedCount.

asset.sc_checkin (risk 4)​

Submits assets with a description. Not smoke-tested: it would publish changes to the team.

ArgumentTypeDescription
assetsarray of stringrequired.
descriptionstringrequired. Changelist / commit description.
keepCheckedOutbooleanKeep the files checked out after submitting. Default false.

Returns: succeeded, failed, succeededCount, failedCount.

asset.sc_checkout_many (risk 4)​

Checks assets out. Not smoke-tested: needs an enabled source control provider.

ArgumentTypeDescription
assetsarray of stringrequired. Assets (object or package paths) to act on.
updateStatusbooleanAlso refresh the provider state before acting (slower, more accurate). Default true.

Returns: succeeded, failed, succeededCount, failedCount.

asset.sc_diff_against_depot (risk 0)​

Fetches the head revision of an asset and reports whether the local file differs from it. Not smoke-tested: needs an enabled source control provider.

ArgumentTypeDescription
assetstringrequired. Object path (/Game/Foo/Bar.Bar), package path (/Game/Foo/Bar) or unique bare name.

Returns: asset, localFile, depotRevision, depotFile, differs, localBytes, depotBytes, message.

asset.sc_get_provider (risk 0, smoke)​

Active source control provider, whether it is enabled and reachable, and its status lines.

No arguments.

Returns: provider, enabled, available, status.

asset.sc_history (risk 0)​

Revision history of one asset (revision, user, date, description). Not smoke-tested: needs an enabled source control provider.

ArgumentTypeDescription
assetstringrequired.
limitintegerDefault 20.

Returns: asset, file, revisions, total.

asset.sc_list_changed (risk 0)​

Locally modified, added or deleted files under a folder. Not smoke-tested: needs an enabled source control provider.

ArgumentTypeDescription
folderstringContent folder to inspect. Default "/Game".
recursivebooleanDefault true.
limitintegerDefault 500.

Returns: provider, modified, added, deleted, filesChecked.

asset.sc_lock (risk 4)​

Takes an exclusive lock on assets where the provider supports locking (Perforce: an exclusive check out). Not smoke-tested: needs an enabled source control provider.

ArgumentTypeDescription
assetsarray of stringrequired. Assets (object or package paths) to act on.
updateStatusbooleanAlso refresh the provider state before acting (slower, more accurate). Default true.

Returns: succeeded, failed, succeededCount, failedCount.

asset.sc_revert_many (risk 5, destructive)​

Reverts assets to the head revision (local changes are lost). Not smoke-tested: needs an enabled source control provider.

ArgumentTypeDescription
assetsarray of stringrequired.
unchangedOnlybooleanOnly revert files that are checked out but not actually modified. Default false.

Returns: succeeded, failed, succeededCount, failedCount.

asset.sc_status (risk 0, smoke)​

Detailed source control state of assets: checked out (and by whom), modified, added, deleted, current.

ArgumentTypeDescription
assetsarray of stringrequired. Assets (object or package paths) to act on.
updateStatusbooleanAlso refresh the provider state before acting (slower, more accurate). Default true.

Returns: provider, enabled, states, checkedOutCount, modifiedCount.

asset.sc_sync (risk 3)​

Syncs assets (or a whole folder) to the head revision. Not smoke-tested: needs an enabled source control provider.

ArgumentTypeDescription
assetsarray of stringAssets to sync. Ignored when folder is set.
folderstringContent folder to sync instead of individual assets.
recursivebooleanDefault true.

Returns: succeeded, failed, succeededCount, failedCount.

asset.sc_unlock (risk 4)​

Releases the lock on assets (reverts an unchanged exclusive check out). Not smoke-tested: needs an enabled source control provider.

ArgumentTypeDescription
assetsarray of stringrequired. Assets (object or package paths) to act on.
updateStatusbooleanAlso refresh the provider state before acting (slower, more accurate). Default true.

Returns: succeeded, failed, succeededCount, failedCount.

asset.scan_files (risk 1, smoke)​

Scans individual package files synchronously. Paths may be long package names or files on disk.

ArgumentTypeDescription
pathsarray of stringrequired. Content folders (or, for asset.scan_files, package/file paths) to scan.
forcebooleanRescan even when the registry already knows the path. Default false.

Returns: loadingAssets, totalAssets, cachedPaths, elapsedSeconds, message.

asset.scan_paths (risk 1, smoke)​

Scans content folders synchronously so newly added files show up in the registry.

ArgumentTypeDescription
pathsarray of stringrequired. Content folders (or, for asset.scan_files, package/file paths) to scan.
forcebooleanRescan even when the registry already knows the path. Default false.

Returns: loadingAssets, totalAssets, cachedPaths, elapsedSeconds, message.

asset.set_browser_folder (risk 0, smoke)​

Navigates the Content Browser to a folder.

ArgumentTypeDescription
folderstringrequired. Content folder, e.g. "/Game/Levels".
recursivebooleanDefault false.

Returns: folder, selectedFolders.

asset.set_collection_color (risk 4, mutates, smoke)​

Sets (or clears) the content-browser colour of a collection.

ArgumentTypeDescription
collectionstringrequired.
shareTypestringDefault TEXT("local").
rnumberRed 0-1. Default 1.0.
gnumberGreen 0-1. Default 1.0.
bnumberBlue 0-1. Default 1.0.
anumberAlpha 0-1. Default 1.0.
clearbooleanClear the colour instead of setting it. Default false.

Returns: collection, message, assets, count.

asset.set_metadata (risk 2, mutates, smoke)​

Sets an editor metadata tag on the asset.

ArgumentTypeDescription
assetstringrequired.
keystringrequired.
valuestringUsed by asset.set_metadata.

Returns: entries, count.

asset.set_texture_settings (risk 2, mutates, smoke)​

Changes texture import settings after import: compression, sRGB, max size, group, mip generation.

ArgumentTypeDescription
assetstringrequired.
srgbinteger-1 keeps, 0 = linear, 1 = sRGB. Default -1.
compressionstringe.g. "TC_Default", "TC_Normalmap", "TC_Masks".
lodGroupstringe.g. "TEXTUREGROUP_World", "TEXTUREGROUP_UI".
mipGenstringe.g. "TMGS_NoMipmaps", "TMGS_FromTextureGroup".
maxSizeinteger0 keeps; otherwise the maximum texture size in pixels (power of two). Default 0.
neverStreaminteger-1 keeps, 0/1 sets NeverStream. Default -1.
savebooleanDefault false.

Returns: asset, factory, saved, notes.

asset.split_path (risk 0, smoke)​

Splits a path into package, asset, sub-object, mount point and file on disk.

ArgumentTypeDescription
pathstringrequired. Package path, object path or folder, e.g. "/Game/F/A.A:Sub".

Returns: package, assetName, subObject, mountPoint, folder, file.

asset.string_table_export_csv (risk 0, smoke)​

Exports a StringTable as CSV text (optionally also to a file).

ArgumentTypeDescription
assetstringrequired.
savePathstringOptional absolute .csv path to also write.

Returns: text, lines, savedTo, problems.

asset.string_table_find (risk 0, smoke)​

Searches the keys and source strings of a StringTable.

ArgumentTypeDescription
assetstringrequired.
containsstringSubstring to look for in keys and source strings.
keysOnlybooleanOnly match the key, not the source string. Default false.
limitintegerDefault 200.

Returns: entries, count.

asset.string_table_import_csv (risk 2, mutates, smoke)​

Imports StringTable entries from CSV text (or a .csv file) with a "Key,SourceString" header.

ArgumentTypeDescription
assetstringrequired.
csvstringCSV text with a "Key,SourceString" header. Ignored when file is set.
filestringAbsolute .csv path to read instead.
replacebooleanRemove the existing entries before importing. Default false.

Returns: entries, count.

asset.string_table_list (risk 0, smoke)​

Key/source-string entries of a StringTable.

ArgumentTypeDescription
assetstringrequired. Object path (/Game/Foo/Bar.Bar), package path (/Game/Foo/Bar) or unique bare name.

Returns: entries, count.

asset.string_table_remove (risk 3, mutates, destructive, smoke)​

Removes one entry of a StringTable.

ArgumentTypeDescription
assetstringrequired.
keystringrequired. Entry key to remove.

Returns: entries, count.

asset.string_table_set (risk 2, mutates, smoke)​

Adds or updates StringTable entries.

ArgumentTypeDescription
assetstringrequired.
entriesarray of UeaKeyValuerequired. Key -> source string pairs.

Returns: entries, count.

asset.sync_browser (risk 0, smoke)​

Selects the assets in the Content Browser and scrolls to them.

ArgumentTypeDescription
assetsarray of stringrequired. Asset references (object path, package path or unique bare name).

Returns: message.

asset.unload_packages (risk 3)​

Unloads packages from memory (unsaved changes are lost unless includeDirty is false). Not smoke-tested: unloading packages during a test run breaks later tools.

ArgumentTypeDescription
packagesarray of stringrequired. Package names ("/Game/Folder/Asset") or asset references.
includeDirtybooleanUnload/reload even when the package has unsaved changes (the changes are lost). Default false.

Returns: succeeded, failed, succeededCount, failedCount.

asset.validate (risk 0, smoke)​

Runs the data validation (IsDataValid + registered validators) on assets.

ArgumentTypeDescription
assetsarray of stringrequired. Asset references (object path, package path or unique bare name).

Returns: results, invalidCount.

asset.validate_path (risk 0, smoke)​

Whether a path is a valid long package name and/or object path, with the reason when it is not.

ArgumentTypeDescription
pathstringrequired. Package path, object path or folder, e.g. "/Game/F/A.A:Sub".

Returns: path, validLongPackageName, validObjectPath, exists, reason.

asset.wait_for_registry (risk 1, smoke)​

Waits (letting editor frames pass) until the asset registry finished its initial scan.

ArgumentTypeDescription
timeoutSecondsnumberGive up after this many seconds (1-600). Default 60.0.

Returns: loadingAssets, totalAssets, cachedPaths, elapsedSeconds, message.

import.animation (risk 2, mutates)​

Imports an animation sequence from FBX onto a skeleton. Not smoke-tested: needs a source file on disk.

ArgumentTypeDescription
filestringrequired.
folderstringrequired.
namestring
skeletonstringrequired. Skeleton the animation targets.
importScalenumberDefault 1.0.
savebooleanDefault false.

Returns: assets, total.

import.audio (risk 2, mutates)​

Imports a sound wave with compression quality, looping and an optional sound class. Not smoke-tested: needs a source file on disk.

ArgumentTypeDescription
filestringrequired.
folderstringrequired.
namestring
compressionQualityinteger1-100; -1 keeps the importer default. Default -1.
loopingbooleanDefault false.
soundGroupstringSound class / group asset to assign, when given.
savebooleanDefault false.

Returns: results, assets, succeededCount, failedCount, log.

import.batch (risk 2, mutates)​

Imports many files in one ImportAssetTasks call, each with its own factory and options. Not smoke-tested: needs source files on disk.

ArgumentTypeDescription
tasksarray of UeaImportTaskSpecrequired. One entry per file to import.
savebooleanDefault false.

Returns: results, assets, succeededCount, failedCount, log.

import.can_reimport (risk 0, smoke)​

Whether an asset can be reimported, and from which source files.

ArgumentTypeDescription
assetstringrequired. Object path (/Game/Foo/Bar.Bar), package path (/Game/Foo/Bar) or unique bare name.

Returns: asset, canReimport, sourceFiles, reason.

import.csv_to_data_table (risk 2, mutates)​

Creates a DataTable from a CSV file and a row struct. Not smoke-tested: needs a source file on disk.

ArgumentTypeDescription
filestringrequired. Absolute .csv / .json path.
rowStructstringrequired. Row struct: a native struct name or a user defined struct asset path.
folderstringrequired.
namestringrequired.
savebooleanDefault false.

Returns: results, assets, succeededCount, failedCount, log.

import.export (risk 0)​

Exports an asset to a file on disk using the engine exporter matching the extension. Not smoke-tested: writes a file outside the content sandbox.

ArgumentTypeDescription
assetstringrequired.
filestringrequired. Absolute destination file. The extension selects the exporter (fbx, obj, png, tga, wav, csv, json, t3d, copy).

Returns: file, exporter, sizeBytes, errors.

import.export_data_table_csv (risk 0)​

Exports a DataTable to a .csv file on disk. Not smoke-tested: writes files outside the content sandbox.

ArgumentTypeDescription
assetstringrequired.
filestringrequired. Absolute destination file.
optionsarray of UeaKeyValueExporter properties as text.

Returns: results, succeededCount, failedCount.

import.export_many (risk 0)​

Exports many assets into a directory, one file each. Not smoke-tested: writes files outside the content sandbox.

ArgumentTypeDescription
assetsarray of stringrequired.
directorystringrequired. Absolute destination directory.
extensionstringForce one extension for every asset (e.g. "fbx"); empty picks the exporter default.

Returns: results, succeededCount, failedCount.

import.export_texture (risk 0)​

Exports a texture to PNG/TGA/EXR/HDR. Not smoke-tested: writes files outside the content sandbox.

ArgumentTypeDescription
assetstringrequired.
filestringrequired. Absolute destination file.
optionsarray of UeaKeyValueExporter properties as text.

Returns: results, succeededCount, failedCount.

import.export_to_fbx (risk 0)​

Exports a mesh, animation or level to FBX with exporter options. Not smoke-tested: writes files outside the content sandbox.

ArgumentTypeDescription
assetstringrequired.
filestringrequired. Absolute destination file.
optionsarray of UeaKeyValueExporter properties as text.

Returns: results, succeededCount, failedCount.

import.fbx_animation (risk 2, mutates)​

Imports an animation sequence from FBX onto a skeleton, optionally a frame range only. Not smoke-tested: needs a source file on disk.

ArgumentTypeDescription
filestringrequired.
folderstringrequired.
namestring
skeletonstringrequired. Skeleton the animation targets.
importAllFramesbooleanDefault true.
frameStartintegerFirst frame to import when importAllFrames is false. Default 0.
frameEndintegerLast frame to import when importAllFrames is false. Default 0.
uniformScalenumberDefault 1.0.
savebooleanDefault false.

Returns: results, assets, succeededCount, failedCount, log.

import.fbx_skeletal_mesh (risk 2, mutates)​

Imports a skeletal mesh from FBX (skeleton, morph targets, physics asset). Not smoke-tested: needs a source file on disk.

ArgumentTypeDescription
filestringrequired.
folderstringrequired.
namestring
skeletonstringExisting skeleton to bind to; empty creates a new one.
importMorphTargetsbooleanDefault true.
importAnimationsbooleanDefault false.
createPhysicsAssetbooleanDefault true.
importMaterialsbooleanDefault true.
uniformScalenumberDefault 1.0.
convertScenebooleanDefault true.
forceFrontXAxisbooleanDefault false.
savebooleanDefault false.

Returns: results, assets, succeededCount, failedCount, log.

import.fbx_static_mesh (risk 2, mutates)​

Imports a static mesh from FBX/OBJ with the usual mesh options. Not smoke-tested: needs a source file on disk.

ArgumentTypeDescription
filestringrequired.
folderstringrequired.
namestring
generateLightmapUVsbooleanDefault true.
autoGenerateCollisionbooleanDefault true.
combineMeshesbooleanMerge every mesh of the file into one asset. Default true.
importMaterialsbooleanDefault true.
importTexturesbooleanDefault true.
uniformScalenumberDefault 1.0.
convertScenebooleanConvert the scene axes to Unreal's. Default true.
forceFrontXAxisbooleanUse -X as the front axis. Default false.
savebooleanDefault false.

Returns: results, assets, succeededCount, failedCount, log.

import.files (risk 2, mutates)​

Imports many files with the automatic importer (no dialogs). Not smoke-tested: needs source files on disk.

ArgumentTypeDescription
filesarray of stringrequired. Absolute file paths.
folderstringrequired.

Returns: assets, total.

import.get_last_import_log (risk 0, smoke)​

Log lines (warnings and errors) captured during the last import or export tool call of this kit.

No arguments.

Returns: lines, tool, warningCount, errorCount.

import.get_options (risk 0, smoke)​

Editable options of the factory that imports a file extension, with their defaults, ready to pass to import.with_options.

ArgumentTypeDescription
formatstringrequired. File extension or file name, e.g. "fbx", ".png" or "C:/mesh.fbx".
includeOptionsObjectbooleanAlso list the properties of the factory's import-options object (FbxImportUI and friends). Default true.

Returns: format, factory, supportedClass, options, factories.

import.get_source_files (risk 0, smoke)​

Source files recorded on an asset, and which of them are missing on disk.

ArgumentTypeDescription
assetstringrequired. Object path (/Game/Foo/Bar.Bar), package path (/Game/Foo/Bar) or unique bare name.

Returns: asset, files, missing, hasImportData.

import.gltf (risk 2, mutates)​

Imports a glTF/GLB file with whichever glTF importer this engine has (Interchange on 5.x, the glTF plugin on 4.27). Not smoke-tested: needs a source file on disk.

ArgumentTypeDescription
filestringrequired. Absolute path of the file to import.
folderstringrequired. Destination content folder.
namestringAsset name; empty uses the file name.
factorystringFactory class name; empty picks the factory that claims the extension.
optionsarray of UeaKeyValueFactory (or import-options) properties as text; use import.get_options to discover them.
replaceExistingbooleanDefault true.
savebooleanDefault false.

Returns: results, assets, succeededCount, failedCount, log.

import.interchange_info (risk 0, UE 5.1+, smoke)​

Whether the Interchange import framework is available and enabled, and which Interchange plugins are on.

No arguments.

Returns: available, importEnabled, plugins, message.

import.json_to_data_table (risk 2, mutates)​

Creates a DataTable from a JSON file and a row struct. Not smoke-tested: needs a source file on disk.

ArgumentTypeDescription
filestringrequired. Absolute .csv / .json path.
rowStructstringrequired. Row struct: a native struct name or a user defined struct asset path.
folderstringrequired.
namestringrequired.
savebooleanDefault false.

Returns: results, assets, succeededCount, failedCount, log.

import.list_exporters (risk 0, smoke)​

Exporters registered in the editor, optionally for one asset class.

ArgumentTypeDescription
classstringOptional class filter, e.g. "StaticMesh". Empty lists every exporter.

Returns: exporters, total.

import.list_formats (risk 0, smoke)​

File extensions the installed importers understand, with the factory handling each.

No arguments.

Returns: formats.

import.list_importable_extensions (risk 0, smoke)​

File extensions the installed factories can import, with the factory and asset class of each.

No arguments.

Returns: extensions, total.

import.reimport (risk 3, mutates)​

Reimports an asset from its recorded source file (or a new file). Not smoke-tested: needs an imported asset with a source file.

ArgumentTypeDescription
assetstringrequired.
filestringOptional new source file.

Returns: asset.

import.reimport_folder (risk 3, mutates, dryRun, smoke)​

Reimports every asset of a folder that has a source file. Run with dryRun first.

ArgumentTypeDescription
folderstringrequired.
classFilterstringOptional class filter, e.g. "Texture2D".
recursivebooleanDefault true.
dryRunbooleanOnly list what would be reimported. Default false.
limitintegerDefault 100.

Returns: results, assets, succeededCount, failedCount, log.

import.reimport_many (risk 3, mutates)​

Reimports assets from their recorded source files. Not smoke-tested: needs imported assets with source files.

ArgumentTypeDescription
assetsarray of stringrequired.
askForNewFilesbooleanOpen a file dialog when the recorded source file is missing (normally off for automation). Default false.

Returns: results, assets, succeededCount, failedCount, log.

import.set_source_file (risk 2, mutates)​

Points an asset at a different source file without reimporting it. Not smoke-tested: needs an imported asset.

ArgumentTypeDescription
assetstringrequired.
filestringrequired. New absolute source file path.
indexintegerIndex of the source file slot to set (0 = the main one). Default 0.

Returns: asset, files, missing, hasImportData.

import.skeletal_mesh (risk 2, mutates)​

Imports a skeletal mesh from FBX (creates or reuses a skeleton, optional physics asset). Not smoke-tested: needs a source file on disk.

ArgumentTypeDescription
filestringrequired.
folderstringrequired.
namestring
skeletonstringExisting skeleton to bind to; empty creates a new one.
importScalenumberDefault 1.0.
createPhysicsAssetbooleanDefault true.
importMorphTargetsbooleanDefault true.
importMaterialsbooleanDefault true.
importAnimationsbooleanDefault false.
savebooleanDefault false.

Returns: assets, total.

import.sound (risk 2, mutates)​

Imports a sound wave (WAV/OGG/FLAC). Not smoke-tested: needs a source file on disk.

ArgumentTypeDescription
filestringrequired. Absolute path of a file on disk (FBX, PNG, WAV, ...).
folderstringrequired. Destination content folder.
namestringOptional asset name; defaults to the file name.

Returns: assets, total.

import.static_mesh (risk 2, mutates)​

Imports a static mesh from FBX/OBJ with scale, combine, collision and material options. Not smoke-tested: needs a source file on disk.

ArgumentTypeDescription
filestringrequired.
folderstringrequired.
namestring
importScalenumberDefault 1.0.
combineMeshesbooleanMerge every mesh in the file into one asset. Default true.
generateCollisionbooleanDefault true.
generateLightmapUVsbooleanDefault true.
importMaterialsbooleanDefault true.
importTexturesbooleanDefault true.
savebooleanDefault false.

Returns: assets, total.

import.texture (risk 2, mutates)​

Imports a texture (PNG/TGA/JPG/EXR/...) with sRGB, compression, group and mip settings. Not smoke-tested: needs a source file on disk.

ArgumentTypeDescription
filestringrequired.
folderstringrequired.
namestring
srgbinteger-1 keeps the importer default, 0 = linear, 1 = sRGB. Default -1.
compressionstringCompression setting name, e.g. "TC_Default", "TC_Normalmap", "TC_Masks", "TC_Grayscale", "TC_HDR".
lodGroupstringTexture group, e.g. "TEXTUREGROUP_World", "TEXTUREGROUP_UI".
mipGenstringMip generation, e.g. "TMGS_NoMipmaps", "TMGS_FromTextureGroup".
savebooleanDefault false.

Returns: asset, factory, saved, notes.

import.texture_with_settings (risk 2, mutates)​

Imports a texture with compression, sRGB, mip, group, size and green-channel settings. Not smoke-tested: needs a source file on disk.

ArgumentTypeDescription
filestringrequired.
folderstringrequired.
namestring
compressionstringe.g. "TC_Default", "TC_Normalmap", "TC_Masks".
srgbinteger-1 keeps the importer default, 0 = linear, 1 = sRGB. Default -1.
mipGenstringe.g. "TMGS_NoMipmaps", "TMGS_FromTextureGroup".
lodGroupstringe.g. "TEXTUREGROUP_World", "TEXTUREGROUP_UI".
maxSizeinteger0 keeps the source size; otherwise the maximum size in pixels. Default 0.
flipGreenbooleanFlip the green channel (DirectX to OpenGL normal maps). Default false.
savebooleanDefault false.

Returns: results, assets, succeededCount, failedCount, log.

import.with_options (risk 2, mutates)​

Imports one file with a factory configured from options[] (see import.get_options). Not smoke-tested: needs a source file on disk.

ArgumentTypeDescription
filestringrequired. Absolute path of the file to import.
folderstringrequired. Destination content folder.
namestringAsset name; empty uses the file name.
factorystringFactory class name; empty picks the factory that claims the extension.
optionsarray of UeaKeyValueFactory (or import-options) properties as text; use import.get_options to discover them.
replaceExistingbooleanDefault true.
savebooleanDefault false.

Returns: results, assets, succeededCount, failedCount, log.