- Home /
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 [List`1] is of the type [System.Collections.Generic.List`1] 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, IEnumerable`1, IAssemblyResolver, String, String, String) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:1804) Unity.UNetWeaver.Weaver:WeaveAssemblies(IEnumerable`1, IEnumerable`1, 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, Action`1, 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.List`1 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, IEnumerable`1, IAssemblyResolver, String, String, String) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:1804) Unity.UNetWeaver.Weaver:WeaveAssemblies(IEnumerable`1, IEnumerable`1, 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, Action`1, Action`1) (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.List`1 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, IEnumerable`1, IAssemblyResolver, String, String, String) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:1804) Unity.UNetWeaver.Weaver:WeaveAssemblies(IEnumerable`1, IEnumerable`1, 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, Action`1, Action`1) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/Program.cs:34) UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface:TickCompilationPipeline(EditorScriptCompilationOptions, BuildTargetGroup, BuildTarget) UNetWeaver error: parameter [List`1] is of the type [System.Collections.Generic.List`1] 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, IEnumerable`1, IAssemblyResolver, String, String, String) (at C:/buildslave/unity/build/Extensions/Networking/Weaver/UNetWeaver.cs:1804) Unity.UNetWeaver.Weaver:WeaveAssemblies(IEnumerable`1, IEnumerable`1, 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, Action`1, 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.
Answer by Arkade · May 07, 2018 at 10:28 AM
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: https://issuetracker.unity3d.com/issues/asmdef-unet-unable-to-serialize-parameters-from-assembly-definitions
HTH
Your answer
Follow this Question
Related Questions
Question regarding unity mobile multiplayer game 0 Answers
Photon error nentworking 0 Answers
Switching weapons in PhotonNetwork 1 Answer
Photon Network instantiate problem when Master changes 0 Answers