When building an (almost) empty project containing the file System.Security.dll as an asset for WebGL, the IL2CPP compiler errors out: IL2CPP error for method 'System.Void Mono.Security.Cryptography.NativeDapiProtection/DATA_BLOB::Free()' in assembly 'C:\Proj\SpinningCube-5\Temp\StagingArea\Data\Managed\System.Security.dll' Additional information: Build a development build for more information. Cannot get stack type for IntPtr (Note: This says to build a development build even when I am building a development build.) Spoiler Code (csharp): Failed running C:\Program Files\Unity500f4\Editor\Data\il2cpp/il2cpp.exe --copy-level=None --enable-generic-sharing --enable-unity-event-support --enable-symbol-loading "C:\Proj\SpinningCube-5\Temp\StagingArea\Data\Managed\Assembly-CSharp.dll" "C:\Proj\SpinningCube-5\Temp\StagingArea\Data\Managed\UnityEngine.UI.dll" "C:\Proj\SpinningCube-5\Temp\StagingArea\Data\Managed\System.Security.dll" "C:\Proj\SpinningCube-5\Temp\StagingArea\Data\il2cppOutput" stdout: IL2CPP error for method 'System.Void Mono.Security.Cryptography.NativeDapiProtection/DATA_BLOB::Free()' in assembly 'C:\Proj\SpinningCube-5\Temp\StagingArea\Data\Managed\System.Security.dll' Additional information: Build a development build for more information. Cannot get stack type for IntPtr stderr: Unhandled Exception: System.InvalidOperationException: Cannot get stack type for IntPtr at Unity.IL2CPP.StackTypeConverter.StackTypeFor (Mono.Cecil.TypeReference type, ITypeProvider typeProvider) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.MethodBodyWriter.TypeForComparison (Signedness signedness, Mono.Cecil.TypeReference type) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.MethodBodyWriter.CastExpressionForOperandOfComparision (Signedness signedness, StackInfo left) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.MethodBodyWriter.ConditionalExpressionFor (System.String cppOperator, Signedness signedness) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.MethodBodyWriter.GenerateConditionalJump (Unity.IL2CPP.Common.CFG.InstructionBlock block, Mono.Cecil.Cil.Instruction ins, System.String cppOperator, Signedness signedness) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.MethodBodyWriter.ProcessInstruction (Unity.IL2CPP.Node node, Unity.IL2CPP.Common.CFG.InstructionBlock block, Mono.Cecil.Cil.Instruction ins) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.MethodBodyWriter.GenerateCodeRecursive (Unity.IL2CPP.Node node) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.MethodBodyWriter.Generate () [0x00000] in <filename unknown>:0 at Unity.IL2CPP.MethodWriter.WriteMethodBody (Mono.Cecil.MethodReference method) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.MethodWriter.WriteMethod (Mono.Cecil.MethodReference method, MethodWriteMode mode) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.MethodWriter.WriteMethodAndWrappers (Mono.Cecil.MethodReference method, MethodWriteMode mode) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.MethodWriter.WriteMethodDefinitions (System.Func`2 filter) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.SourceWriter.WriteMethodDefinitionsFor (Unity.IL2CPP.CppCodeWriter writer, System.Func`2 filter, Mono.Cecil.TypeReference type, Unity.IL2CPP.Metadata.VTableBuilder vTableBuilder, Mono.Cecil.AssemblyDefinition mscorlib, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.SourceWriter.WriteSource (Unity.IL2CPP.CppCodeWriter writer, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, Mono.Cecil.TypeReference type, System.Collections.Generic.HashSet`1 emptyTypes, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.SourceWriter.WriteSourceFiles (System.String outputDirectory, System.String fileName, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, IEnumerable`1 typeList, System.Collections.Generic.HashSet`1 emptyTypes, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.SourceWriter.Write (Mono.Cecil.AssemblyDefinition assemblyDefinition, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, System.String outputDir, Mono.Cecil.TypeDefinition[] typeList, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.AssemblyConverter.Convert (Mono.Cecil.AssemblyDefinition assemblyDefinition, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.AssemblyConverter.Apply () [0x00000] in <filename unknown>:0 at Unity.IL2CPP.AssemblyConverter.ConvertAssemblies (System.String[] assemblies, System.String outputDir) [0x00000] in <filename unknown>:0 [ERROR] FATAL UNHANDLED EXCEPTION: System.InvalidOperationException: Cannot get stack type for IntPtr at Unity.IL2CPP.StackTypeConverter.StackTypeFor (Mono.Cecil.TypeReference type, ITypeProvider typeProvider) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.MethodBodyWriter.TypeForComparison (Signedness signedness, Mono.Cecil.TypeReference type) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.MethodBodyWriter.CastExpressionForOperandOfComparision (Signedness signedness, StackInfo left) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.MethodBodyWriter.ConditionalExpressionFor (System.String cppOperator, Signedness signedness) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.MethodBodyWriter.GenerateConditionalJump (Unity.IL2CPP.Common.CFG.InstructionBlock block, Mono.Cecil.Cil.Instruction ins, System.String cppOperator, Signedness signedness) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.MethodBodyWriter.ProcessInstruction (Unity.IL2CPP.Node node, Unity.IL2CPP.Common.CFG.InstructionBlock block, Mono.Cecil.Cil.Instruction ins) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.MethodBodyWriter.GenerateCodeRecursive (Unity.IL2CPP.Node node) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.MethodBodyWriter.Generate () [0x00000] in <filename unknown>:0 at Unity.IL2CPP.MethodWriter.WriteMethodBody (Mono.Cecil.MethodReference method) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.MethodWriter.WriteMethod (Mono.Cecil.MethodReference method, MethodWriteMode mode) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.MethodWriter.WriteMethodAndWrappers (Mono.Cecil.MethodReference method, MethodWriteMode mode) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.MethodWriter.WriteMethodDefinitions (System.Func`2 filter) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.SourceWriter.WriteMethodDefinitionsFor (Unity.IL2CPP.CppCodeWriter writer, System.Func`2 filter, Mono.Cecil.TypeReference type, Unity.IL2CPP.Metadata.VTableBuilder vTableBuilder, Mono.Cecil.AssemblyDefinition mscorlib, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.SourceWriter.WriteSource (Unity.IL2CPP.CppCodeWriter writer, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, Mono.Cecil.TypeReference type, System.Collections.Generic.HashSet`1 emptyTypes, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.SourceWriter.WriteSourceFiles (System.String outputDirectory, System.String fileName, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, IEnumerable`1 typeList, System.Collections.Generic.HashSet`1 emptyTypes, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.SourceWriter.Write (Mono.Cecil.AssemblyDefinition assemblyDefinition, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, System.String outputDir, Mono.Cecil.TypeDefinition[] typeList, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.AssemblyConverter.Convert (Mono.Cecil.AssemblyDefinition assemblyDefinition, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics) [0x00000] in <filename unknown>:0 at Unity.IL2CPP.AssemblyConverter.Apply () [0x00000] in <filename unknown>:0 at Unity.IL2CPP.AssemblyConverter.ConvertAssemblies (System.String[] assemblies, System.String outputDir) [0x00000] in <filename unknown>:0 UnityEngine.Debug:LogError(Object) UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:66) UnityEditorInternal.IL2CPPBuilder:ConvertPlayerDlltoCpp(ICollection`1, String, String) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:404) UnityEditorInternal.IL2CPPBuilder:Run() (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:275) UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:218) UnityEditor.HostView:OnGUI() Spoiler Code (csharp): Exception: C:\Program Files\Unity500f4\Editor\Data\il2cpp/il2cpp.exe did not run properly! UnityEditorInternal.Runner.RunManagedProgram (System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:68) UnityEditorInternal.IL2CPPBuilder.ConvertPlayerDlltoCpp (ICollection`1 userAssemblies, System.String outputDirectory, System.String workingDirectory) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:404) UnityEditorInternal.IL2CPPBuilder.Run () (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:275) UnityEditorInternal.IL2CPPUtils.RunIl2Cpp (System.String stagingAreaData, IIl2CppPlatformProvider platformProvider, System.Action`1 modifyOutputBeforeCompile, UnityEditor.RuntimeClassRegistry runtimeClassRegistry) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:218) UnityEditor.WebGL.WebGlBuildPostprocessor.PostProcess (BuildPostProcessArgs args) UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, System.String downloadWebplayerUrl, System.String manualDownloadWebplayerUrl, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:316) UnityEditor.HostView:OnGUI() Spoiler Code (csharp): Error building Player: Exception: C:\Program Files\Unity500f4\Editor\Data\il2cpp/il2cpp.exe did not run properly! I'm attempting to port a webplayer game to WebGL and I do need to use some functions from System.Security. Is this a Unity bug that I should wait on Unity to fix, or something I can work around myself?