unity-shader

SKILL.md

Unity Shader Skills

Work with shaders - create shader files, read source code, and list available shaders.

Skills Overview

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

Skills

shader_create

Create a shader file from template.

Parameter Type Required Default Description
shaderName string Yes - Shader name (e.g., "Custom/MyShader")
savePath string Yes - Save path
template string No "Unlit" Template type

Templates:

Template Description
Unlit Basic unlit shader
Standard PBR surface shader
Transparent Alpha blended

shader_read

Read shader source code.

Parameter Type Required Description
shaderPath string Yes Shader asset path

Returns: {success, path, content}

shader_list

List all shaders in project.

Parameter Type Required Default Description
filter string No null Name filter
limit int No 100 Max results

Returns: {success, count, shaders: [{name, path}]}

shader_find

Find a shader by name.

Parameter Type Required Description
shaderName string Yes Shader name to find

Returns: {success, name, path, propertyCount}

shader_delete

Delete a shader file.

Parameter Type Required Description
shaderPath string Yes Shader asset path

shader_get_properties

Get all properties defined in a shader.

Parameter Type Required Description
shaderName string No* Shader name
shaderPath string No* Shader asset path

Returns: {success, properties: [{name, type, description}]}

shader_check_errors

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 }

shader_get_keywords

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 }] }

shader_get_variant_count

Get shader variant count for performance analysis.

Parameter Type Required Default Description
shaderNameOrPath string Yes - Shader name or asset path (e.g., "Custom/MyShader" or "Assets/Shaders/My.shader")

Returns: { shaderName, subshaderCount, totalPasses }

shader_create_urp

Create a URP shader from template (type: Unlit or Lit).

Parameter Type Required Default Description
shaderName string Yes - Shader name (e.g., "Custom/MyURPShader")
savePath string Yes - Save path (e.g., "Assets/Shaders/MyURP.shader")
type string No "Unlit" Template type: "Unlit" or "Lit"

Returns: { success, shaderName, path, type }

shader_set_global_keyword

Enable or disable a global shader keyword.

Parameter Type Required Default Description
keyword string Yes - Global shader keyword name
enabled bool Yes - true to enable, false to disable

Returns: { success, keyword, enabled }


Example Usage

import unity_skills

# Create an unlit shader
unity_skills.call_skill("shader_create",
    shaderName="Custom/MyUnlit",
    savePath="Assets/Shaders/MyUnlit.shader",
    template="Unlit"
)

# Create a surface shader
unity_skills.call_skill("shader_create",
    shaderName="Custom/MyPBR",
    savePath="Assets/Shaders/MyPBR.shader",
    template="Standard"
)

# Read shader source
source = unity_skills.call_skill("shader_read",
    shaderPath="Assets/Shaders/MyUnlit.shader"
)
print(source['content'])

# List all custom shaders
shaders = unity_skills.call_skill("shader_list", filter="Custom")
for shader in shaders['shaders']:
    print(f"{shader['name']}: {shader['path']}")

Best Practices

  1. Use consistent shader naming (Category/Name)
  2. Organize shaders in dedicated folder
  3. Start with templates, modify as needed
  4. Test shaders in different lighting conditions
  5. Consider mobile compatibility for builds
Weekly Installs
7
GitHub Stars
460
First Seen
4 days ago
Installed on
kimi-cli6
gemini-cli6
amp6
cline6
github-copilot6
codex6