Unity-MCP assets-find
Search the asset database using the search filter string. Allows you to search for Assets. The string argument can provide names, labels or types (classnames).
install
source · Clone the upstream repo
git clone https://github.com/IvanMurzak/Unity-MCP
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/IvanMurzak/Unity-MCP "$T" && mkdir -p ~/.claude/skills && cp -r "$T/Unity-MCP-Plugin/.claude/skills/assets-find" ~/.claude/skills/ivanmurzak-unity-mcp-assets-find && rm -rf "$T"
manifest:
Unity-MCP-Plugin/.claude/skills/assets-find/SKILL.mdsource content
Assets / Find
How to Call
unity-mcp-cli run-tool assets-find --input '{ "filter": "string_value", "searchInFolders": "string_value", "maxResults": 0 }'
For complex input (multi-line strings, code), save the JSON to a file and use:
unity-mcp-cli run-tool assets-find --input-file args.jsonOr pipe via stdin (recommended):
unity-mcp-cli run-tool assets-find --input-file - <<'EOF' {"param": "value"} EOF
Troubleshooting
If
unity-mcp-cli is not found, either install it globally (npm install -g unity-mcp-cli) or use npx unity-mcp-cli instead.
Read the /unity-initial-setup skill for detailed installation instructions.
Input
| Name | Type | Required | Description |
|---|---|---|---|
| | No | The filter string can contain search data. Could be empty. Name: Filter assets by their filename (without extension). Words separated by whitespace are treated as separate name searches. Labels (l:): Assets can have labels attached to them. Use 'l:' before each label. Types (t:): Find assets based on explicitly identified types. Use 't:' keyword. Available types: AnimationClip, AudioClip, AudioMixer, ComputeShader, Font, GUISkin, Material, Mesh, Model, PhysicMaterial, Prefab, Scene, Script, Shader, Sprite, Texture, VideoClip, VisualEffectAsset, VisualEffectSubgraph. AssetBundles (b:): Find assets which are part of an Asset bundle. Area (a:): Find assets in a specific area. Valid values are 'all', 'assets', and 'packages'. Globbing (glob:): Use globbing to match specific rules. Note: Searching is case insensitive. |
| | No | The folders where the search will start. If null, the search will be performed in all folders. |
| | No | Maximum number of assets to return. If the number of found assets exceeds this limit, the result will be truncated. |
Input JSON Schema
{ "type": "object", "properties": { "filter": { "type": "string" }, "searchInFolders": { "$ref": "#/$defs/System.String[]" }, "maxResults": { "type": "integer" } }, "$defs": { "System.String[]": { "type": "array", "items": { "type": "string" } } } }
Output
Output JSON Schema
{ "type": "object", "properties": { "result": { "$ref": "#/$defs/System.Collections.Generic.List<com.IvanMurzak.Unity.MCP.Runtime.Data.AssetObjectRef>" } }, "$defs": { "com.IvanMurzak.Unity.MCP.Runtime.Data.AssetObjectRef": { "type": "object", "properties": { "instanceID": { "type": "integer", "description": "instanceID of the UnityEngine.Object. If this is '0' and 'assetPath' and 'assetGuid' is not provided, empty or null, then it will be used as 'null'." }, "assetType": { "$ref": "#/$defs/System.Type", "description": "Type of the asset." }, "assetPath": { "type": "string", "description": "Path to the asset within the project. Starts with 'Assets/'" }, "assetGuid": { "type": "string", "description": "Unique identifier for the asset." } }, "required": [ "instanceID" ], "description": "Reference to UnityEngine.Object asset instance. It could be Material, ScriptableObject, Prefab, and any other Asset. Anything located in the Assets and Packages folders." }, "System.Type": { "type": "string" }, "System.Collections.Generic.List<com.IvanMurzak.Unity.MCP.Runtime.Data.AssetObjectRef>": { "type": "array", "items": { "$ref": "#/$defs/com.IvanMurzak.Unity.MCP.Runtime.Data.AssetObjectRef", "description": "Reference to UnityEngine.Object asset instance. It could be Material, ScriptableObject, Prefab, and any other Asset. Anything located in the Assets and Packages folders." } } }, "required": [ "result" ] }