ReSharper 2026.1 Help

代码检查:发现多个具有相同名称的着色器

该检查会报告名称字符串解析为多个具有相同名称的 ShaderLab 着色器的情况。

在 Unity 中,着色器引用如 Shader.Find("Name") 应指向一个唯一的着色器。 如果有多个着色器共享该名称,则该引用会变得不明确,无法确定代码应使用哪个着色器。

示例

using UnityEngine; public class Example : MonoBehaviour { void Start() { var shader = Shader.Find("Custom/MyShader"); } }
using UnityEngine; public class Example : MonoBehaviour { void Start() { var shader = Shader.Find("Custom/MyUniqueShader"); } }

修正方法

没有专门的快速修复。 通常的解决方法是重命名或删除重复的着色器,使引用能精确地指向唯一的着色器。

2026年 5月 8日