editor.asset.find
Searches the Asset Registry for assets by name, path, or class.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
name | string | No | Substring filter on asset name |
path | string | No | Content path to search within |
class | string | No | Asset class to filter by (e.g. "StaticMesh") |
max_results | number | No | Maximum number of results (default 100) |
recursive | bool | No | Search subdirectories when filtering by path (default true) |
Returns:
| Name | Type | Description |
|---|---|---|
count | number | Number of matching assets |
assets | array | Each: {name, path, package, class, is_loaded} |
Example Request:
{ "jsonrpc": "2.0", "id": 1, "method": "editor.asset.find", "params": { "class": "StaticMesh", "max_results": 5 } } editor.asset.getMetadata
Returns detailed metadata for an asset including dependencies and referencers.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
path | string | Yes | Object path or package name of the asset |
Returns:
| Name | Type | Description |
|---|---|---|
name | string | Asset name |
path | string | Full asset path |
package | string | Package name |
class | string | Asset class name |
is_loaded | bool | Whether asset is currently loaded |
disk_size | number | Disk size in bytes (if available) |
dependencies | array | Package names this asset depends on |
referencers | array | Package names that reference this asset |
Example Request:
{ "jsonrpc": "2.0", "id": 1, "method": "editor.asset.getMetadata", "params": { "path": "/Game/Meshes/SM_Cube" } } editor.asset.load
Loads an asset into memory.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
path | string | Yes | Asset path to load |
Returns:
| Name | Type | Description |
|---|---|---|
success | bool | Whether load succeeded |
name | string | Asset name |
class | string | Asset class name |
path | string | Full asset path |
Example Request:
{ "jsonrpc": "2.0", "id": 1, "method": "editor.asset.load", "params": { "path": "/Game/Meshes/SM_Cube" } } editor.asset.save
Saves a single asset to disk.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
path | string | Yes | Asset path to save |
only_if_dirty | bool | No | Only save if modified (default true) |
Returns: success (bool), path (string)
Example Request:
{ "jsonrpc": "2.0", "id": 1, "method": "editor.asset.save", "params": { "path": "/Game/Meshes/SM_Cube" } } editor.asset.saveAll
Saves all dirty packages (maps and/or content).
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
save_maps | bool | No | Whether to save map packages (default true) |
save_content | bool | No | Whether to save content packages (default true) |
Returns: success (bool)
Example Request:
{ "jsonrpc": "2.0", "id": 1, "method": "editor.asset.saveAll" } editor.asset.duplicate
Duplicates an asset to a new path.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
source_path | string | Yes | Path of the asset to duplicate |
destination_path | string | Yes | Target path for the copy |
Returns: success (bool), name (string), path (string), source_path (string)
Example Request:
{ "jsonrpc": "2.0", "id": 1, "method": "editor.asset.duplicate", "params": { "source_path": "/Game/Materials/M_Ground", "destination_path": "/Game/Materials/M_Ground_Copy" } } editor.asset.rename
Renames/moves an asset from one path to another.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
source_path | string | Yes | Current asset path |
destination_path | string | Yes | New asset path |
Returns: success (bool), source_path (string), destination_path (string)
Example Request:
{ "jsonrpc": "2.0", "id": 1, "method": "editor.asset.rename", "params": { "source_path": "/Game/Materials/M_Old", "destination_path": "/Game/Materials/M_New" } } editor.asset.delete
Deletes an asset.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
path | string | Yes | Asset path to delete |
Returns: success (bool), path (string)
Example Request:
{ "jsonrpc": "2.0", "id": 1, "method": "editor.asset.delete", "params": { "path": "/Game/Materials/M_Temp" } } editor.asset.import
Imports an external file (e.g. FBX, PNG) into the project as an asset.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
file_path | string | Yes | Filesystem path of the file to import |
destination_path | string | Yes | Content path where the asset should be created |
Returns: success (bool), count (number), imported (array of {name, path, class})
Example Request:
{ "jsonrpc": "2.0", "id": 1, "method": "editor.asset.import", "params": { "file_path": "C:/Assets/hero.fbx", "destination_path": "/Game/Meshes" } } editor.asset.reimport
Reimports an existing asset from its original source file (or a new source file).
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
path | string | Yes | Asset path of the asset to reimport |
source_file | string | No | New source file path (if omitted, uses original source) |
Returns: success (bool), path, name, class, source_files (array)
Example Request:
{ "jsonrpc": "2.0", "id": 1, "method": "editor.asset.reimport", "params": { "path": "/Game/Meshes/SM_Hero.SM_Hero" } } editor.asset.bulkImport
Imports multiple external files into the project in a single operation.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
files | array | Yes | Array of filesystem file paths to import |
destination_path | string | Yes | Content path where assets should be created |
replace_existing | bool | No | Replace existing assets (default true) |
save | bool | No | Save imported assets (default true) |
Returns: success (bool), total_files, success_count, fail_count, imported_count, imported (array)
Example Request:
{ "jsonrpc": "2.0", "id": 1, "method": "editor.asset.bulkImport", "params": { "files": ["C:/Assets/hero.fbx", "C:/Assets/hero_diffuse.png"], "destination_path": "/Game/Characters/Hero" } } editor.asset.getSourceFile
Gets the source file path(s) for an imported asset.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
path | string | Yes | Asset path to query |
Returns: path, name, class, has_source (bool), source_file, source_files (array), can_reimport (bool)
Example Request:
{ "jsonrpc": "2.0", "id": 1, "method": "editor.asset.getSourceFile", "params": { "path": "/Game/Meshes/SM_Hero.SM_Hero" } } editor.asset.scan
Bulk-enumerates assets under a content path with full Asset Registry tags and disk size. Designed for asset catalog ingestion.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
path | string | Yes | Content path to scan (e.g. "/Game/Fab") |
class | string | No | Filter by asset class (e.g. "StaticMesh") |
recursive | bool | No | Scan subdirectories (default true) |
max_results | number | No | Maximum results per page (default 500) |
include_tags | bool | No | Include Asset Registry tags (default true) |
offset | number | No | Skip first N results for pagination (default 0) |
Returns: count, total, assets (array with name, path, package, class, is_loaded, disk_size, tags)
Example Request:
{ "jsonrpc": "2.0", "id": 1, "method": "editor.asset.scan", "params": { "path": "/Game/Fab/Furniture", "class": "StaticMesh", "max_results": 10 } } editor.asset.getTags
Retrieves custom metadata tags from an asset's .uasset file.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
path | string | Yes | Asset path to query |
Returns: path (string), tags (object — key-value map of custom metadata)
Example Request:
{ "jsonrpc": "2.0", "id": 1, "method": "editor.asset.getTags", "params": { "path": "/Game/Fab/Furniture/SM_Desk_Modern_01" } } editor.asset.setTags
Sets custom metadata tags on an asset's .uasset file. Tags are key-value string pairs persisted alongside the asset.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
path | string | Yes | Asset path to tag |
tags | object | Yes | Key-value pairs to set (all values must be strings) |
save | bool | No | Whether to save the asset after setting tags (default true) |
Returns: success (bool), path (string), tags_set (number)
Example Request:
{ "jsonrpc": "2.0", "id": 1, "method": "editor.asset.setTags", "params": { "path": "/Game/Fab/Furniture/SM_Desk", "tags": { "AgentUX_DisplayName": "Modern Desk" } } }