We are trying to get our game to build with WebGL in the latest Beta, however UnusedByteCodeStripper2 throws an exception.
stdout:
Fatal error in Mono CIL Linker
System.Exception: Error processing method: 'System.Boolean UnityEngine.CrashLog.Util.Rest/<CheckConnection>d__4::MoveNext()' in assembly: 'UnityEngine.CrashLog.dll' ---> Mono.Cecil.ResolutionException: Failed to resolve System.Void UnityEngine.Ping::.ctor(System.String)
at Mono.Linker.Steps.MarkStep.MarkMethod(MethodReference reference)
at Mono.Linker.Steps.MarkStep.MarkInstruction(Instruction instruction)
at Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body)
at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method)
at Mono.Linker.Steps.MarkStep.ProcessQueue()
--- End of inner exception stack trace ---
at Mono.Linker.Steps.MarkStep.ProcessQueue()
at Mono.Linker.Steps.MarkStep.Process()
at Mono.Linker.Pipeline.Process(LinkContext context)
at Mono.Linker.Driver.RunDriver(Driver driver)
stderr:
We recently added the UnityEngine.CrashLog.dll to our game because we want to track down crashes that users report but we are unable to reproduce. This seems to be the cause of this issue.
SideBar: I noticed the the accepted file types does not contain .log files
The UnityEngine.Ping class is only available on a few platforms, and does not exist on WebGL
The correct workaround would be to build multiple versions of the UnityEngine.CrashLog assembly, including one for WebGL that doesn’t make the calls to UnityEngine.Ping. Then use the plugin inspector (Unity - Manual: Import and configure plug-ins) to specify which platforms were applicable for each version of the assembly.
That sounds like something in part Unity has to do? The second part I can definitely do, but can I even get the source code for the UnityEngine.CrashLog.dll, and then having not seen the source code is that even feasible to remove UnityEngine.Ping from that DLL.