UNet Weaver Error, on project updation

Hello,
So I upgraded my project from 5.4.2 to 5.6 2017.0.1f3, and I am getting these UNetWeaver errors. Please help me out

UNetWeaver error: parameter [List1] is of the type [System.Collections.Generic.List1] is not a valid type, please make sure to use a valid type.
UnityEngine.Debug:LogError(Object)
Unity.UNetWeaver.Log:Error(String) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/Program.cs:20)
Unity.UNetWeaver.Weaver:IsValidTypeToGenerate(TypeDefinition) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:1624)
Unity.UNetWeaver.Weaver:GenerateReadFunction(TypeReference) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:683)
Unity.UNetWeaver.Weaver:GetReadFunc(TypeReference) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:407)
Unity.UNetWeaver.NetworkBehaviourProcessor:processNetworkReaderParameters(MethodDefinition, ILProcessor, Boolean) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetBehaviourProcessor.cs:1046)
Unity.UNetWeaver.NetworkBehaviourProcessor:processCommandInvoke(MethodDefinition) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetBehaviourProcessor.cs:1100)
Unity.UNetWeaver.NetworkBehaviourProcessor:processMethods() (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetBehaviourProcessor.cs:1676)
Unity.UNetWeaver.NetworkBehaviourProcessor:process() (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetBehaviourProcessor.cs:58)
Unity.UNetWeaver.Weaver:processNetworkBehaviourType(TypeDefinition) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:1142)
Unity.UNetWeaver.Weaver:CheckNetworkBehaviour(TypeDefinition) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:1681)
Unity.UNetWeaver.Weaver:Weave(String, IEnumerable1, IAssemblyResolver, String, String, String) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:1804) Unity.UNetWeaver.Weaver:WeaveAssemblies(IEnumerable1, IEnumerable1, IAssemblyResolver, String, String, String) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:1904) Unity.UNetWeaver.Program:process(String, String, String, String[], String[], IAssemblyResolver, Action1, Action`1) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/Program.cs:34)
UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface:TickCompilationPipeline(EditorScriptCompilationOptions, BuildTargetGroup, BuildTarget)

UNetWeaver error: GetReadFunc unable to generate function for:System.Collections.Generic.List1 UnityEngine.Debug:LogError(Object) Unity.UNetWeaver.Log:Error(String) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/Program.cs:20) Unity.UNetWeaver.Weaver:GetReadFunc(TypeReference) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:412) Unity.UNetWeaver.NetworkBehaviourProcessor:processNetworkReaderParameters(MethodDefinition, ILProcessor, Boolean) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetBehaviourProcessor.cs:1046) Unity.UNetWeaver.NetworkBehaviourProcessor:processCommandInvoke(MethodDefinition) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetBehaviourProcessor.cs:1100) Unity.UNetWeaver.NetworkBehaviourProcessor:processMethods() (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetBehaviourProcessor.cs:1676) Unity.UNetWeaver.NetworkBehaviourProcessor:process() (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetBehaviourProcessor.cs:58) Unity.UNetWeaver.Weaver:processNetworkBehaviourType(TypeDefinition) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:1142) Unity.UNetWeaver.Weaver:CheckNetworkBehaviour(TypeDefinition) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:1681) Unity.UNetWeaver.Weaver:Weave(String, IEnumerable1, IAssemblyResolver, String, String, String) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:1804)
Unity.UNetWeaver.Weaver:WeaveAssemblies(IEnumerable1, IEnumerable1, IAssemblyResolver, String, String, String) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:1904)
Unity.UNetWeaver.Program:process(String, String, String, String, String, IAssemblyResolver, Action1, Action1) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/Program.cs:34)
UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface:TickCompilationPipeline(EditorScriptCompilationOptions, BuildTargetGroup, BuildTarget)

UNetWeaver error: ProcessNetworkReaderParameters for DrawingTool:CmdSend4 type System.Collections.Generic.List1 not supported UnityEngine.Debug:LogError(Object) Unity.UNetWeaver.Log:Error(String) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/Program.cs:20) Unity.UNetWeaver.NetworkBehaviourProcessor:processNetworkReaderParameters(MethodDefinition, ILProcessor, Boolean) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetBehaviourProcessor.cs:1065) Unity.UNetWeaver.NetworkBehaviourProcessor:processCommandInvoke(MethodDefinition) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetBehaviourProcessor.cs:1100) Unity.UNetWeaver.NetworkBehaviourProcessor:processMethods() (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetBehaviourProcessor.cs:1676) Unity.UNetWeaver.NetworkBehaviourProcessor:process() (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetBehaviourProcessor.cs:58) Unity.UNetWeaver.Weaver:processNetworkBehaviourType(TypeDefinition) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:1142) Unity.UNetWeaver.Weaver:CheckNetworkBehaviour(TypeDefinition) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:1681) Unity.UNetWeaver.Weaver:Weave(String, IEnumerable1, IAssemblyResolver, String, String, String) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:1804)
Unity.UNetWeaver.Weaver:WeaveAssemblies(IEnumerable1, IEnumerable1, IAssemblyResolver, String, String, String) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:1904)
Unity.UNetWeaver.Program:process(String, String, String, String, String, IAssemblyResolver, Action1, Action1) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/Program.cs:34)
UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface:TickCompilationPipeline(EditorScriptCompilationOptions, BuildTargetGroup, BuildTarget)
UNetWeaver error: parameter [List1] is of the type [System.Collections.Generic.List1] is not a valid type, please make sure to use a valid type.
UnityEngine.Debug:LogError(Object)
Unity.UNetWeaver.Log:Error(String) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/Program.cs:20)
Unity.UNetWeaver.Weaver:IsValidTypeToGenerate(TypeDefinition) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:1624)
Unity.UNetWeaver.Weaver:GenerateWriterFunction(TypeReference) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:611)
Unity.UNetWeaver.Weaver:GetWriteFunc(TypeReference) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:333)
Unity.UNetWeaver.NetworkBehaviourProcessor:WriteArguments(ILProcessor, MethodDefinition, String, Boolean) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetBehaviourProcessor.cs:146)
Unity.UNetWeaver.NetworkBehaviourProcessor:processCommandCall(MethodDefinition, CustomAttribute) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetBehaviourProcessor.cs:1216)
Unity.UNetWeaver.NetworkBehaviourProcessor:processMethods() (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetBehaviourProcessor.cs:1682)
Unity.UNetWeaver.NetworkBehaviourProcessor:process() (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetBehaviourProcessor.cs:58)
Unity.UNetWeaver.Weaver:processNetworkBehaviourType(TypeDefinition) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:1142)
Unity.UNetWeaver.Weaver:CheckNetworkBehaviour(TypeDefinition) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:1681)
Unity.UNetWeaver.Weaver:Weave(String, IEnumerable1, IAssemblyResolver, String, String, String) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:1804) Unity.UNetWeaver.Weaver:WeaveAssemblies(IEnumerable1, IEnumerable1, IAssemblyResolver, String, String, String) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:1904) Unity.UNetWeaver.Program:process(String, String, String, String[], String[], IAssemblyResolver, Action1, Action`1) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/Program.cs:34)
UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface:TickCompilationPipeline(EditorScriptCompilationOptions, BuildTargetGroup, BuildTarget)
there are 4-5 more but you get the point, googling and answers and other forums pointed me to nothing, So here I am needing help.

Hey, sorry for necro-ing but this came up as a hit when I was googling.

For me, this was caused by a change in Unity behaviour relating to different assemblies. New behaviour seems to be: UNet calls can’t use arguments from other assemblies.

That is, there’s a problem if a struct in assembly 1 is used as a parameter to a Command in assembly 2.

Workaround: Move them both to the same assembly. (yes, I know that often that doesn’t make sense or isn’t possible.)

Here’s the bug I found on the issue:

HTH