Quick answer: Unity Shader Graph property default value not applied to new material instances? Defaults apply on shader compile, not material creation - existing materials retain whatever was set.

Added a new property with default 0.5. New material instances show 0.0.

Set on material creation

mat.SetFloat("_MyProp", 0.5f);

Material's RevertToDefaults uses shader's defaults. New materials inherit those.

Or set in C# editor utility

Walk materials referencing the shader; set the property explicitly. One-time migration.

Audit defaults vs actual

Inspect a few materials. Mismatch with shader default = the propagation issue.

“Shader defaults aren't material defaults. Materials retain explicit state.”

When you add a new shader property, plan the migration. Defaults aren't propagated retroactively.

Related reading