docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Asset & file commands

    Commands for creating, importing, moving, copying, renaming, deleting and finding project assets, plus folder and text-file operations. Every agent-supplied path is funnelled through the authoring-root sandbox (it rejects ../ and out-of-project writes); destructive or overwriting operations require confirm=true and support dry_run. AssetDatabase create/move/copy/rename/delete are not part of Unity's Undo system.

    create_asset

    Create a new ScriptableObject (or other UnityEngine.Object) asset of the given type at a path under the authoring root.

    Parameter Required Default Description
    path yes – Asset path relative to the authoring root, including extension (e.g. Data/Config.asset or Materials/Wall.mat). The Assets/ prefix is optional.
    type yes – Fully-qualified or short type name to instantiate (e.g. UnityEngine.Material, MyGame.GameConfig). Must derive from UnityEngine.Object and be creatable.
    shader no – Material-only (ignored otherwise): shader name to assign (e.g. Standard, "Universal Render Pipeline/Lit"). When omitted, defaults to "Universal Render Pipeline/Lit" if a Scriptable Render Pipeline is active, otherwise the built-in "Standard" shader (falling back to "Standard" if URP/Lit is unavailable).
    confirm no false Required (true) only when overwriting an existing asset at the path. Ignored when the path is empty.
    dry_run no false If true, validate inputs and report what would be created without writing anything.

    Returns: AuthoringResult Notes: confirm=true required to overwrite an existing asset; supports dry_run.

    import_asset

    Import an external file (e.g. a texture, model, audio clip) into the project by copying it to a path under the authoring root, then importing it.

    Parameter Required Default Description
    source yes – Absolute filesystem path to the external file to import.
    path yes – Destination asset path relative to the authoring root, including extension. The Assets/ prefix is optional.
    confirm no false Required (true) only when overwriting an existing asset at the destination path.
    dry_run no false If true, validate inputs and report what would be imported without writing anything.

    Returns: AuthoringResult Notes: confirm=true required to overwrite an existing asset; supports dry_run.

    move_asset

    Move (or rename via a new path) an asset to a new location under the authoring root. Preserves the asset's GUID.

    Parameter Required Default Description
    asset yes – Reference to the asset to move (path / guid / globalId).
    destination yes – Destination asset path relative to the authoring root, including extension. The Assets/ prefix is optional.
    dry_run no false If true, validate the move (via AssetDatabase.ValidateMoveAsset) without performing it.

    Returns: AuthoringResult Notes: Supports dry_run.

    copy_asset

    Copy an asset to a new path under the authoring root. The copy gets a fresh GUID.

    Parameter Required Default Description
    asset yes – Reference to the asset to copy (path / guid / globalId).
    destination yes – Destination asset path relative to the authoring root, including extension. The Assets/ prefix is optional.
    confirm no false Required (true) only when overwriting an existing asset at the destination path.
    dry_run no false If true, validate inputs and report what would be copied without writing anything.

    Returns: AuthoringResult Notes: confirm=true required to overwrite an existing asset; supports dry_run.

    rename_asset

    Rename an asset in place (keeps it in the same folder, keeps its GUID).

    Parameter Required Default Description
    asset yes – Reference to the asset to rename (path / guid / globalId).
    new_name yes – New file name WITHOUT a folder path. The extension is preserved if omitted.
    dry_run no false If true, validate the rename without performing it.

    Returns: AuthoringResult Notes: Supports dry_run.

    delete_asset

    Delete an asset from the project. Destructive: requires confirm=true.

    Parameter Required Default Description
    asset yes – Reference to the asset to delete (path / guid / globalId).
    confirm no false Must be true to actually delete. Without it the command refuses (destructive guard).
    dry_run no false If true, report the asset that would be deleted without deleting it.

    Returns: AuthoringResult Notes: Destructive — confirm=true required; supports dry_run. Not undoable via Unity's Undo.

    find_assets

    Find assets by type and/or name and/or label, returning their path, GUID and type. At least one filter is required.

    Parameter Required Default Description
    type no – Type name to filter by (e.g. Material, GameObject, ScriptableObject, MyGame.GameConfig). Resolved to a System.Type and matched against each asset's actual main type.
    name no – Name substring to filter by (AssetDatabase name filter).
    label no – Asset label to filter by (AssetDatabase 'l:' filter).
    search_in no – Folder to scope the search to, relative to the authoring root (default: the authoring root).
    limit no 200 Maximum number of results to return (default 200).

    Returns: FindAssetsResult Notes: At least one of type, name, or label is required.

    set_import_settings

    Set import settings on an asset's AssetImporter (e.g. a texture's isReadable) and re-import it.

    Parameter Required Default Description
    asset yes – Reference to the asset whose importer to edit (path / guid / globalId).
    settings yes – JSON object of importer property/field names to values, e.g. {"isReadable": true, "textureType": "NormalMap"}.
    dry_run no false If true, validate which settings would apply (and which are unknown) without writing or re-importing.

    Returns: SetImportSettingsResult Notes: Supports dry_run. Import settings live in the asset's .meta file and are not part of Unity's Undo system.

    get_import_settings

    Read an asset's import settings, structured by importer type (texture/model/audio), including the default-platform fields and (for textures/audio) one platform override block.

    Parameter Required Default Description
    asset yes – Reference to the asset whose importer to read (path / guid / globalId).
    platform no Default Platform whose override to read: Default | Standalone | iOS | Android | WebGL | tvOS.

    Returns: GetImportSettingsResult

    create_folder

    Create a folder under the authoring root (creates intermediate folders).

    Parameter Required Default Description
    path yes – Folder path relative to the authoring root (default Assets/); the Assets/ prefix is optional. e.g. Gameplay/Enemies or Assets/Gameplay/Enemies

    Returns: AuthoringResult

    read_text_file

    Read a UTF-8 text file under the authoring root and return its contents.

    Parameter Required Default Description
    path yes – Text file path relative to the authoring root. The Assets/ prefix is optional.
    max_bytes no 1048576 Reject files larger than this many bytes (default 1048576 = 1 MiB) to avoid huge payloads.

    Returns: ReadTextFileResult Notes: MainThreadRequired = true.

    write_text_file

    Write UTF-8 text to a file under the authoring root, then import it. Overwriting an existing file requires confirm=true.

    Parameter Required Default Description
    path yes – Text file path relative to the authoring root, including extension. The Assets/ prefix is optional.
    contents yes – The full text content to write (replaces the file).
    confirm no false Required (true) only when overwriting an existing file at the path.
    dry_run no false If true, validate inputs and report what would be written without writing anything.

    Returns: AuthoringResult Notes: confirm=true required to overwrite an existing file; supports dry_run. Filesystem writes are not part of Unity's Undo system.

    See Creating commands and Connectivity.

    In This Article
    Back to top
    Copyright © 2026 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)