/asset
Manage Unity AssetDatabase operations. 管理 Unity AssetDatabase 操作。
$ npx -y skills add Besty0728/Unity-Skills --skill asset --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/asset
Context preview
The summary Claude sees to decide when to auto-load this skill.
Manage Unity AssetDatabase operations. 管理 Unity AssetDatabase 操作。
SKILL.md
asset.SKILL.mdname: unity-asset
description: Manage Unity AssetDatabase operations. 管理 Unity AssetDatabase 操作。
Triggers
- Organizing project assets
- Importing or relocating files
- Querying asset metadata
- Scripting AssetDatabase operations
- 整理工程资源、导入或移动文件、查询资源元数据、脚本化 AssetDatabase 操作
Unity Asset Skills
> **BATCH-FIRST**: Use `*_batch` skills when operating on 2+ assets.
Operating Mode
- **Approval**:本模块 Mixed —— `asset_find` / `asset_get_info` / `asset_get_labels` 标 `SkillMode.SemiAuto`,可直接执行;写类 skill (`asset_move` / `asset_move_batch` / `asset_duplicate` / `asset_create_folder` / `asset_refresh` / `asset_reimport*` / `asset_set_labels`) 走默认 `SkillMode.FullAuto`,需 grant。
- **Auto / Bypass**:FullAuto 直接执行。
- **含 NeverInSemi 高危 skill**:`asset_import` (标 `RiskLevel = "high"` —— 写入项目);`asset_delete` / `asset_delete_batch` (Operation.Delete)。这些在 Approval/Auto 下返 `MODE_FORBIDDEN`,仅 Bypass 或 Allowlist 命中可调。
**DO NOT** (common hallucinations):
- `asset_create` does not exist → use `asset_create_folder` (folders), `material_create` (materials), `script_create` (scripts)
- `asset_rename` does not exist → use `asset_move` with new path
- `asset_search` does not exist → use `asset_find` with searchFilter syntax (e.g. `t:Texture2D player`)
- `asset_copy` does not exist → use `asset_duplicate`
**Routing**:
- For texture/model/audio import settings → use `importer` module (SkillMode.FullAuto)
- For material creation → use `material` module (SkillMode.FullAuto)
- For script creation → use `script` module
Skills Overview
| Single Object | Batch Version | Use Batch When | |---------------|---------------|----------------| | `asset_import` | `asset_import_batch` | Importing 2+ files | | `asset_delete` | `asset_delete_batch` | Deleting 2+ assets | | `asset_move` | `asset_move_batch` | Moving 2+ assets |
**No batch needed**:
- `asset_duplicate` - Duplicate single asset
- `asset_find` - Search assets (returns list)
- `asset_create_folder` - Create folder
- `asset_refresh` - Refresh AssetDatabase
- `asset_get_info` - Get asset information
- `asset_reimport` - Force reimport asset
- `asset_reimport_batch` - Reimport multiple assets
---
Skills
asset_import
Import an external file into the project.
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `sourcePath` | string | Yes | External file path | | `destinationPath` | string | Yes | Project destination |
asset_import_batch
Import multiple external files. | Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `items` | json string | Yes | - | JSON array of per-item objects (see example below) |
`items` currently expects a JSON string, not a native array.
**Returns**: `{success, totalItems, successCount, failCount, results: [{success, sourcePath, destinationPath}]}`
import json
unity_skills.call_skill("asset_import_batch", items=json.dumps([
{"sourcePath": "C:/Downloads/tex1.png", "destinationPath": "Assets/Textures/tex1.png"},
{"sourcePath": "C:/Downloads/tex2.png", "destinationPath": "Assets/Textures/tex2.png"}
]))asset_delete
Delete an asset from the project.
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `assetPath` | string | Yes | Asset path to delete |
asset_delete_batch
Delete multiple assets. | Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `items` | json string | Yes | - | JSON array of per-item objects (see example below) |
`items` currently expects a JSON string, not a native array.
**Returns**: `{success, totalItems, successCount, failCount, results: [{success, path}]}`
import json
unity_skills.call_skill("asset_delete_batch", items=json.dumps([
{"path": "Assets/Textures/old1.png"},
{"path": "Assets/Textures/old2.png"}
]))asset_move
Move or rename an asset.
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `sourcePath` | string | Yes | Current asset path | | `destinationPath` | string | Yes | New path/name |
asset_move_batch
Move multiple assets. | Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `items` | json string | Yes | - | JSON array of per-item objects (see example below) |
`items` currently expects a JSON string, not a native array.
**Returns**: `{success, totalItems, successCount, failCount, results: [{success, sourcePath, destinationPath}]}`
import json
unity_skills.call_skill("asset_move_batch", items=json.dumps([
{"sourcePath": "Assets/Old/mat1.mat", "destinationPath": "Assets/New/mat1.mat"},
{"sourcePath": "Assets/Old/mat2.mat", "destinationPath": "Assets/New/mat2.mat"}
]))asset_duplicate
Duplicate an asset.
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `assetPath` | string | Yes | Asset to duplicate |
asset_find
Find assets by search filter.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `searchFilter` | string | Yes | - | Search query | | `limit` | int | No | 50 | Max results to return |
**Search Filter Syntax**: | Filter | Example | Description | |--------|---------|-------------| | `t:Type` | `t:Texture2D` | By type | | `l:Label` | `l:Architecture` | By label | | `name` | `player` | By name | | Combined | `t:Material player` | Multiple filters |
**Returns**: `{count, totalFound, assets: [{path, name, type}]}`
asset_create_folder
Create a folder in the project.
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `folderPath` | string | Yes | Full folder path |
asset_refresh
Refresh the AssetDatabase after external changes.
No parameters.
asset_get_info
Get information about an asset.
| Parameter
Read more
name: unity-asset description: Manage Unity AssetDatabase operations. 管理 Unity AssetDatabase 操作。
Triggers
- Organizing project assets
- Importing or relocating files
- Querying asset metadata
- Scripting AssetDatabase operations
- 整理工程资源、导入或移动文件、查询资源元数据、脚本化 AssetDatabase 操作
Unity Asset Skills
> **BATCH-FIRST**: Use `*_batch` skills when operating on 2+ assets.
Operating Mode
- **Approval**:本模块 Mixed —— `asset_find` / `asset_get_info` / `asset_get_labels` 标 `SkillMode.SemiAuto`,可直接执行;写类 skill (`asset_move` / `asset_move_batch` / `asset_duplicate` / `asset_create_folder` / `asset_refresh` / `asset_reimport*` / `asset_set_labels`) 走默认 `SkillMode.FullAuto`,需 grant。
- **Auto / Bypass**:FullAuto 直接执行。
- **含 NeverInSemi 高危 skill**:`asset_import` (标 `RiskLevel = "high"` —— 写入项目);`asset_delete` / `asset_delete_batch` (Operation.Delete)。这些在 Approval/Auto 下返 `MODE_FORBIDDEN`,仅 Bypass 或 Allowlist 命中可调。
**DO NOT** (common hallucinations):
- `asset_create` does not exist → use `asset_create_folder` (folders), `material_create` (materials), `script_create` (scripts)
- `asset_rename` does not exist → use `asset_move` with new path
- `asset_search` does not exist → use `asset_find` with searchFilter syntax (e.g. `t:Texture2D player`)
- `asset_copy` does not exist → use `asset_duplicate`
**Routing**:
- For texture/model/audio import settings → use `importer` module (SkillMode.FullAuto)
- For material creation → use `material` module (SkillMode.FullAuto)
- For script creation → use `script` module
Skills Overview
| Single Object | Batch Version | Use Batch When | |---------------|---------------|----------------| | `asset_import` | `asset_import_batch` | Importing 2+ files | | `asset_delete` | `asset_delete_batch` | Deleting 2+ assets | | `asset_move` | `asset_move_batch` | Moving 2+ assets |
**No batch needed**:
- `asset_duplicate` - Duplicate single asset
- `asset_find` - Search assets (returns list)
- `asset_create_folder` - Create folder
- `asset_refresh` - Refresh AssetDatabase
- `asset_get_info` - Get asset information
- `asset_reimport` - Force reimport asset
- `asset_reimport_batch` - Reimport multiple assets
---
Skills
asset_import
Import an external file into the project.
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `sourcePath` | string | Yes | External file path | | `destinationPath` | string | Yes | Project destination |
asset_import_batch
Import multiple external files. | Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `items` | json string | Yes | - | JSON array of per-item objects (see example below) |
`items` currently expects a JSON string, not a native array.
**Returns**: `{success, totalItems, successCount, failCount, results: [{success, sourcePath, destinationPath}]}`
import json
unity_skills.call_skill("asset_import_batch", items=json.dumps([
{"sourcePath": "C:/Downloads/tex1.png", "destinationPath": "Assets/Textures/tex1.png"},
{"sourcePath": "C:/Downloads/tex2.png", "destinationPath": "Assets/Textures/tex2.png"}
]))asset_delete
Delete an asset from the project.
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `assetPath` | string | Yes | Asset path to delete |
asset_delete_batch
Delete multiple assets. | Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `items` | json string | Yes | - | JSON array of per-item objects (see example below) |
`items` currently expects a JSON string, not a native array.
**Returns**: `{success, totalItems, successCount, failCount, results: [{success, path}]}`
import json
unity_skills.call_skill("asset_delete_batch", items=json.dumps([
{"path": "Assets/Textures/old1.png"},
{"path": "Assets/Textures/old2.png"}
]))asset_move
Move or rename an asset.
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `sourcePath` | string | Yes | Current asset path | | `destinationPath` | string | Yes | New path/name |
asset_move_batch
Move multiple assets. | Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `items` | json string | Yes | - | JSON array of per-item objects (see example below) |
`items` currently expects a JSON string, not a native array.
**Returns**: `{success, totalItems, successCount, failCount, results: [{success, sourcePath, destinationPath}]}`
import json
unity_skills.call_skill("asset_move_batch", items=json.dumps([
{"sourcePath": "Assets/Old/mat1.mat", "destinationPath": "Assets/New/mat1.mat"},
{"sourcePath": "Assets/Old/mat2.mat", "destinationPath": "Assets/New/mat2.mat"}
]))asset_duplicate
Duplicate an asset.
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `assetPath` | string | Yes | Asset to duplicate |
asset_find
Find assets by search filter.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `searchFilter` | string | Yes | - | Search query | | `limit` | int | No | 50 | Max results to return |
**Search Filter Syntax**: | Filter | Example | Description | |--------|---------|-------------| | `t:Type` | `t:Texture2D` | By type | | `l:Label` | `l:Architecture` | By label | | `name` | `player` | By name | | Combined | `t:Material player` | Multiple filters |
**Returns**: `{count, totalFound, assets: [{path, name, type}]}`
asset_create_folder
Create a folder in the project.
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `folderPath` | string | Yes | Full folder path |
asset_refresh
Refresh the AssetDatabase after external changes.
No parameters.
asset_get_info
Get information about an asset.
| Parameter
REST API-based AI-driven Unity Editor Automation Engine Let AI control Unity scenes directly through Skills 🎉 We are now indexed by DeepWiki! Got questions? Check out the AI-generated docs → The current official maintenance baseline is Unity 2022.3+.
Other skills on unity-skills.
- /addressables-design
Source-anchored design rules for Unity Addressables 1.22.3/2.9.1. 为 Unity Addressables 1.22.3/2.9.1 提供源码锚定的设计规则。
Open skill - /adr
Record Unity architecture decisions (ADR) with rationale. 记录 Unity 架构决策(ADR)与理由。
Open skill - /animator
Edit Unity Animator Controllers and drive runtime parameters. 编辑 Unity Animator Controller 并驱动运行时参数。
Open skill - /architecture
Advise on Unity gameplay and system architecture. 为 Unity 游戏与系统架构提供建议。
Open skill - /asmdef
Advise on Unity assembly definitions (asmdef). 为 Unity 程序集定义(asmdef)提供建议。
Open skill - /async
Advise on Unity async and lifecycle strategy. 为 Unity 异步与生命周期策略提供建议。
Open skill

