I have a problem with the URP, I think, the shaders in my project are displayed in pink, I tried to solve it in many ways, I tried to install the same shaders for the project and I get an error in the console that says “'Assets\builtin_shaders\Editor\StandardShaderGUI.cs(304,47): error CS0122: ‘MaterialSerializedProperty’ is inaccessible due to its protection level”
and another error that says “Assets\builtin_shaders\Editor\StandardShaderGUI.cs(304,30): error CS1061: ‘Material’ does not contain a definition for ‘GetPropertyState’ and no accessible extension method ‘GetPropertyState’ accepting a first argument of type ‘Material’ could be found”
I haven’t touched anything, I just installed them and they are shaders from the official Unity page, does anyone have a solution? I know how to handle scripts a little, but I don’t know anything about shaders.
Here I leave the part of the code (line 13)
void DoEmissionArea(Material material)
{
// Emission for GI?
if (m_MaterialEditor.EmissionEnabledProperty())
{
bool hadEmissionTexture = emissionMap.textureValue != null;
// Texture and HDR color controls
m_MaterialEditor.TexturePropertyWithHDRColor(Styles.emissionText, emissionMap, emissionColorForRendering, false);
if (material.globalIlluminationFlags.HasFlag(MaterialGlobalIlluminationFlags.EmissiveIsBlack))
{
material.GetPropertyState(MaterialSerializedProperty.LightmapFlags, out _, out _, out bool lockedByAncestor);
if (lockedByAncestor)
EditorGUILayout.HelpBox("Emissive lighting is locked to black by a parent Material. Changing the emissive color will have no effect.", MessageType.Warning);
}
// If texture was assigned and color was black set color to white
float brightness = emissionColorForRendering.colorValue.maxColorComponent;
if (emissionMap.textureValue != null && !hadEmissionTexture && brightness <= 0f)
emissionColorForRendering.colorValue = Color.white;
// change the GI flag and fix it up with emissive as black if necessary
m_MaterialEditor.LightmapEmissionFlagsProperty(MaterialEditor.kMiniTextureFieldLabelIndentLevel, true);
}
}