move_asset
Move an Unreal asset to a new folder while keeping its name, blocking read-only roots and CDO hard references, then verify the saved file and package.
Instructions
Moves an asset to a new folder while keeping its name. GUARDED exactly like rename_asset (it reaches the same FAssetRenameManager through UEditorAssetLibrary::RenameAsset): (1) read-only roots are refused -- and here BOTH ends are checked, source and destination, since a move can also drop an asset INTO the upstream tree; (2) a native CDO hard-reference makes it refuse before the engine can open its blocking modal; (3) the outcome is read back from memory+disk instead of trusting the returned bool, which stays true even when the new package failed to save (the engine only reacts to that when UE source control is connected).
Returns: { original_asset_path: string, new_folder_path: string, new_asset_path: string, move_success: bool, move_message: string, new_asset_class: string, new_package_name: string, asset_verified: bool, new_file_size_bytes: number?, new_file_size_mb: number?, original_file_exists: bool?, original_asset_class: string, original_package_name: string, new_object_resolves: bool?, new_file_on_disk: bool?, new_file_path: string?, redirector_left: bool?, verification: object?, verification_checks: [object]?, would_block_on_modal: bool?, cdo_referencing_class: string?, cdo_soft_reference_check: string? }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| asset_path | Yes | Full asset path to move | |
| readonly_roots | No | Optional array of content roots that must never be written (checked on source AND destination). Absent => the project's Read Only Content Roots. An EXPLICIT [] disables the guard. (Read through mcp_common::ParseReadonlyRoots, so the type hint is what puts it in the catalog.) | |
| new_folder_path | Yes | Destination folder path (e.g. /Game/NewFolder) | |
| check_cdo_references | No | Optional bool (default true). Scan native CDOs for a hard reference to the asset and refuse instead of letting the engine open a modal. |