用途:该模块面向手写 .shader 文件(HLSL/ShaderLab)的创建与管理,适用于创建或编辑手写 Shader、列出或查找 .shader 文件、检查属性与关键字等场景。节点式 ShaderGraph 不在本模块范围,应使用 shadergraph 模块。
主要能力:查询类技能包括 shader_read(读取源码,返回 path、lines、content)、shader_list(列出项目内 Shader,可按名称过滤与限制数量)、shader_find(按名称查找)、shader_get_properties(返回属性定义 name/type/description,非材质上的当前值)、shader_check_errors(检查编译错误,返回 shaderName、hasErrors、messageCount)、shader_get_keywords(返回关键字列表)、shader_get_variant_count(返回 subshaderCount、totalPasses,用于性能分析)。变更类技能包括 shader_create、shader_create_urp(type 为 Unlit 或 Lit)与 shader_set_global_keyword;shader_delete 属删除操作。
使用方式:查询技能为 SemiAuto,可在各模式直接运行;变更技能为 FullAuto,在 Approval 下需用户授予权限,在 Auto/Bypass 下直接执行;shader_delete 在 Approval/Auto 模式下自动禁止,仅 Bypass 或用户维护的白名单可执行。shader_create 的 template 参数是完整源码字符串而非预设名,传入 template="Standard" 会把字面量 Standard 写入文件导致编译失败;省略时使用内置 Unlit 模板(_MainTex + _Color,单个 CGPROGRAM pass),无其他内置预设。URP 的 Unlit/Lit 预设应使用 shader_create_urp。Shader 名称区分大小写且形如路径,如 "Standard"、"Universal Render Pipeline/Lit"。
限制与注意:不存在 shader_set_property,请改用 material_set_float/material_set_color 等作用于材质;不存在 shader_apply/shader_assign,改变材质 Shader 请用 material_set_shader;材质属性值请用 material_get_properties;材质属性与关键字改动属于 material 模块,仅全局关键字用本模块。确切签名以 GET /skills/schema 或 unity_skills.get_skill_schema() 为准。官方资料未提供收费、价格与平台等更多信息。