addressables-design
Source-anchored design rules for Unity Addressables 1.22.3/2.9.1
Manage HLSL/ShaderLab .shader files
$ npx -y skills add Besty0728/Unity-Skills --skill shader --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/shaderContext preview
The summary Claude sees to decide when to auto-load this skill.
Manage HLSL/ShaderLab .shader files
name: unity-shader description: Manage HLSL/ShaderLab .shader files
> **Before calling any skill in this module:** if you are about to call a skill with parameters guessed from its name or description, STOP — read this file (or fetch its schema via `GET /skills/recommend?includeSchema=true`) first. If you already have the parameter definitions from recommend/schema, you may proceed straight to dryRun.
Work with `.shader` HLSL/ShaderLab files (create from templates, read source, list, find, get keywords/properties/variants, check errors, delete, toggle global keywords). For node-based ShaderGraph use the `shadergraph` module.
**DO NOT** (common hallucinations):
**Routing**:
| Skill | Description | |-------|-------------| | `shader_create` | Create shader file | | `shader_read` | Read shader source | | `shader_list` | List all shaders | | `shader_find` | Find shader by name | | `shader_delete` | Delete shader file | | `shader_get_properties` | Get shader properties | | `shader_check_errors` | Check shader for compilation errors | | `shader_get_keywords` | Get shader keyword list | | `shader_get_variant_count` | Get shader variant count for performance analysis | | `shader_create_urp` | Create a URP shader from template | | `shader_set_global_keyword` | Enable or disable a global shader keyword |
---
Create a shader file. The `template` parameter is **raw shader source code** that gets written verbatim into the `.shader` file — it is **not** a preset name. If you pass `template="Standard"` the literal string `Standard` will be written to disk and the shader will fail to compile.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `shaderName` | string | Yes | - | Shader name written into the `Shader "..."` declaration (e.g., "Custom/MyShader") | | `savePath` | string | Yes | - | Save path (e.g., "Assets/Shaders/My.shader") | | `template` | string | No | `null` | Full ShaderLab/HLSL source string. When omitted, a built-in **Unlit** template (`_MainTex` + `_Color`, single CGPROGRAM pass) is used. There are no other built-in presets. |
> For a URP Unlit / Lit preset, use **`shader_create_urp`** (`type: "Unlit" | "Lit"`) instead — it actually selects a template by name.
Read shader source code.
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `shaderPath` | string | Yes | Shader asset path |
**Returns**: `{path, lines, content}`
List all shaders in project.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `filter` | string | No | null | Name filter | | `limit` | int | No | 100 | Max results |
**Returns**: `{count, shaders: [{path, name, propertyCount}]}`
Find a shader by name.
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `searchName` | string | Yes | Shader name to find |
**Returns**: `{found, name, path}`
Delete a shader file.
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `shaderPath` | string | Yes | Shader asset path |
Get all properties defined in a shader.
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `shaderNameOrPath` | string | Yes | Shader name or shader asset path |
**Returns**: `{success, properties: [{name, type, description}]}`
Check shader for compilation errors.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `shaderNameOrPath` | string | Yes | - | Shader name or asset path (e.g., "Custom/MyShader" or "Assets/Shaders/My.shader") |
**Returns:** `{ shaderName, hasErrors, messageCount }`
Get shader keyword list.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `shaderNameOrPath` | string | Yes | - | Shader name or asset path (e.g., "Custom/MyShader" or "Assets/Shaders/My.shader") |
**Returns:** `{ shaderName, keywordCount, keywords: [{ name, type }] }`
Get shader variant count for performance
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+.
Source-anchored design rules for Unity Addressables 1.22.3/2.9.1
Manage Addressables groups, entries, profiles and content builds (com.unity.addressables, reflection-based)