Shader Graph doesn't compile in existing project 2019.3

Hey everyone,

I’m trying to update an existing project to 2019.3 with URP to get the benefits of the new SRP batcher. When I imported the URP package it doesn’t compile, throwing 31 errors that cannot be cleared from the console. The errors were coming from the Shader Graph package, so I removed URP and installed just the Shader Graph package and got the exact same results. I tried the same thing in an empty project and it worked fine.

I’ve tried both 7.1.8 and 7.2, I’m using Unity 2019.3.0f6 and yes, I’m using .NET 4. I am set to Android as the build target, not sure if that has anything do with it. I don’t really want to switch to PC to find out because it’ll be close to a 24 hour import (very large project).

Here’s a sample of the first few errors in the list:

Library\PackageCache\com.unity.shadergraph@7.1.8\Editor\Drawing\Views\GraphEditorView.cs(282,45): error CS0030: Cannot convert type 'System.Action<Group, string>' to 'Group'

Library\PackageCache\com.unity.shadergraph@7.1.8\Editor\Drawing\Views\GraphEditorView.cs(282,45): error CS0266: Cannot implicitly convert type 'System.Action<Group, string>' to 'System.Action<UnityEditor.Experimental.GraphView.Group, string>'. An explicit conversion exists (are you missing a cast?)

Library\PackageCache\com.unity.shadergraph@7.1.8\Editor\Drawing\Views\GraphEditorView.cs(283,48): error CS0266: Cannot implicitly convert type 'System.Action<Group, System.Collections.Generic.IEnumerable<UnityEditor.Experimental.GraphView.GraphElement>>' to 'System.Action<UnityEditor.Experimental.GraphView.Group, System.Collections.Generic.IEnumerable<UnityEditor.Experimental.GraphView.GraphElement>>'. An explicit conversion exists (are you missing a cast?)

Library\PackageCache\com.unity.shadergraph@7.1.8\Editor\Drawing\Views\GraphEditorView.cs(355,37): error CS0039: Cannot convert type 'UnityEditor.Experimental.GraphView.GraphElement' to 'UnityEditor.ShaderGraph.ShaderGroup' via a reference conversion, boxing conversion, unboxing conversion, wrapping conversion, or null type conversion

Library\PackageCache\com.unity.shadergraph@7.1.8\Editor\Drawing\Views\GraphEditorView.cs(359,69): error CS1061: 'ShaderGroup' does not contain a definition for 'containedElements' and no accessible extension method 'containedElements' accepting a first argument of type 'ShaderGroup' could be found (are you missing a using directive or an assembly reference?)

At this point we’re blocked from updating.

Update: I regenerated my Library folder overnight and it’s still the same story.

Fixed: (Not that I like the fix… but it worked).

I went to all the places the error was occurring (modifying the Unity package) and changed “Group” to “UnityEditor.Experimental.GraphView.Group”. There was clearly a conflict, but no matter how hard I tried to find what it was conflicting with, I couldn’t. It will forever be shrouded in mystery.