Issues when building APK with il2cpp backend! (Urgent help needed!)

Hi,

My game is building fine with mono backend. However, for security purpose, I want to use il2cpp as I heard that hacking mono games is very easy and only requires 1 line of code. (is it true?). I know we can’t prevent the hackers from hacking the game completely but we can make it a bit difficult. That’s why I am trying to build using il2cpp. I’ve got three errors during the build.

First error

IL2CPP error for type ‘UnityEngine.Purchasing.Security.AppleInAppPurchaseReceipt’ in assembly ‘C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\assets\bin\Data\Managed\Security.dll’
Additional information: Build a development build for more information. Object reference not set to an instance of an object.

Second error

Failed running C:\Program Files\Unity\Editor\Data\il2cpp/build/il2cpp.exe --convert-to-cpp --emit-null-checks --enable-array-bounds-check --compile-cpp --libil2cpp-static --platform=“Android” --architecture=“ARMv7” --configuration=“Release” --outputpath=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp/StagingArea\assets\bin\Data\Native\armeabi-v7a\libil2cpp.so” --cachedirectory=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Assets..\Library\il2cpp_android_armeabi-v7a/il2cpp_cache” --additional-include-directories=“C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\bdwgc/include” --additional-include-directories=“C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\libil2cpp/include” --tool-chain-path=“C:/Users/Wahaj/AppData/Roaming/IDM/android-ndk-r10e” --map-file-parser=“C:\Program Files\Unity\Editor\Data\Tools\MapFileParser\MapFileParser.exe” --assembly=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\assets\bin\Data\Managed\Assembly-CSharp-firstpass.dll” --assembly=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\assets\bin\Data\Managed\Assembly-CSharp.dll” --assembly=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\assets\bin\Data\Managed\UnityEngine.UI.dll” --assembly=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\assets\bin\Data\Managed\UnityEngine.Analytics.dll” --assembly=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\assets\bin\Data\Managed\UnityEngine.dll” --assembly=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\assets\bin\Data\Managed\Mono.Security.dll” --assembly=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\assets\bin\Data\Managed\mscorlib.dll” --assembly=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\assets\bin\Data\Managed\Stores.dll” --assembly=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\assets\bin\Data\Managed\System.dll” --assembly=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\assets\bin\Data\Managed\UnityEngine.Purchasing.dll” --generatedcppdir=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\Il2Cpp\il2cppOutput”

stdout:
IL2CPP error for type ‘UnityEngine.Purchasing.Security.AppleInAppPurchaseReceipt’ in assembly ‘C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\assets\bin\Data\Managed\Security.dll’
Additional information: Build a development build for more information. Object reference not set to an instance of an object.
il2cpp.exe didn’t catch exception: System.NullReferenceException: Object reference not set to an instance of an object.
at Unity.IL2CPP.MethodBodyWriter.GetMethodCallExpression(MethodReference callingMethod, MethodReference methodToCall, MethodReference unresolvedMethodtoCall, TypeResolver typeResolverForMethodToCall, MethodCallType callType, IRuntimeMetadataAccess runtimeMetadataAccess, VTableBuilder vTableBuilder, IEnumerable1 argumentArray, Boolean useArrayBoundsCheck, Func2 addUniqueSuffix)
at Unity.IL2CPP.MethodBodyWriter.CallExpressionFor(MethodReference callingMethod, MethodReference unresolvedMethodToCall, MethodCallType callType, List1 poppedValues, Func2 addUniqueSuffix, Boolean emitNullCheckForInvocation)
at Unity.IL2CPP.MethodBodyWriter.ProcessInstruction(Node node, InstructionBlock block, Instruction& ins)
at Unity.IL2CPP.MethodBodyWriter.GenerateCodeRecursive(Node node)
at Unity.IL2CPP.MethodBodyWriter.Generate()
at Unity.IL2CPP.MethodWriter.WriteMethodWithMetadataInitialization(CppCodeWriter writer, String methodSignature, String methodFullName, Action3 writeMethodBody, String uniqueIdentifier) at Unity.IL2CPP.MethodWriter.WriteMethodDefinition(MethodReference method, IMethodCollector methodCollector, IMethodVerifier methodVerifier) at Unity.IL2CPP.MethodWriter.WriteMethodDefinitions(IMethodCollector methodCollector, IMethodVerifier methodVerifier) at Unity.IL2CPP.SourceWriter.WriteMethodSourceFiles(NPath outputDirectory, String fileName, IEnumerable1 typeList, IMethodCollector methodCollector, IMethodVerifier methodVerifier, IInteropDataCollector interopDataCollector, SymbolsCollector symbolsCollector, Boolean writeMarshalingDefinitions)
at Unity.IL2CPP.SourceWriter.Write(AssemblyDefinition assemblyDefinition, ReadOnlyInflatedCollectionCollector allGenerics, NPath outputDir, TypeDefinition[ ] typeList, AttributeCollection attributeCollection, MethodCollector methodCollector, IMethodVerifier methodVerifier, IInteropDataCollector interopDataCollector, IMetadataCollection metadataCollection, SymbolsCollector symbolsCollector)
at Unity.IL2CPP.AssemblyConverter.Convert(AssemblyDefinition assemblyDefinition, ReadOnlyInflatedCollectionCollector allGenerics, AttributeCollection attributeCollection, MethodCollector methodCollector, IMethodVerifier methodVerifier, IInteropDataCollector interopDataCollector, IMetadataCollection metadataCollection, SymbolsCollector symbolsCollector)
at Unity.IL2CPP.AssemblyConverter.Apply()
at Unity.IL2CPP.AssemblyConverter.ConvertAssemblies(NPath[ ] assemblies, NPath outputDir, NPath dataFolder, NPath symbolsFolder)
at Unity.IL2CPP.AssemblyConverter.ConvertAssemblies(IEnumerable1 assemblyDirectories, IEnumerable1 explicitAssemblies, NPath outputDir, NPath dataFolder, NPath symbolsFolder)
at il2cpp.Program.DoRun(String[ ] args)
at il2cpp.Program.Run(String[ ] args)
at il2cpp.Program.Main(String[ ] args)
stderr:

Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
at Unity.IL2CPP.MethodBodyWriter.GetMethodCallExpression(MethodReference callingMethod, MethodReference methodToCall, MethodReference unresolvedMethodtoCall, TypeResolver typeResolverForMethodToCall, MethodCallType callType, IRuntimeMetadataAccess runtimeMetadataAccess, VTableBuilder vTableBuilder, IEnumerable1 argumentArray, Boolean useArrayBoundsCheck, Func2 addUniqueSuffix)
at Unity.IL2CPP.MethodBodyWriter.CallExpressionFor(MethodReference callingMethod, MethodReference unresolvedMethodToCall, MethodCallType callType, List1 poppedValues, Func2 addUniqueSuffix, Boolean emitNullCheckForInvocation)
at Unity.IL2CPP.MethodBodyWriter.ProcessInstruction(Node node, InstructionBlock block, Instruction& ins)
at Unity.IL2CPP.MethodBodyWriter.GenerateCodeRecursive(Node node)
at Unity.IL2CPP.MethodBodyWriter.Generate()
at Unity.IL2CPP.MethodWriter.WriteMethodWithMetadataInitialization(CppCodeWriter writer, String methodSignature, String methodFullName, Action3 writeMethodBody, String uniqueIdentifier) at Unity.IL2CPP.MethodWriter.WriteMethodDefinition(MethodReference method, IMethodCollector methodCollector, IMethodVerifier methodVerifier) at Unity.IL2CPP.MethodWriter.WriteMethodDefinitions(IMethodCollector methodCollector, IMethodVerifier methodVerifier) at Unity.IL2CPP.SourceWriter.WriteMethodSourceFiles(NPath outputDirectory, String fileName, IEnumerable1 typeList, IMethodCollector methodCollector, IMethodVerifier methodVerifier, IInteropDataCollector interopDataCollector, SymbolsCollector symbolsCollector, Boolean writeMarshalingDefinitions)
at Unity.IL2CPP.SourceWriter.Write(AssemblyDefinition assemblyDefinition, ReadOnlyInflatedCollectionCollector allGenerics, NPath outputDir, TypeDefinition[ ] typeList, AttributeCollection attributeCollection, MethodCollector methodCollector, IMethodVerifier methodVerifier, IInteropDataCollector interopDataCollector, IMetadataCollection metadataCollection, SymbolsCollector symbolsCollector)
at Unity.IL2CPP.AssemblyConverter.Convert(AssemblyDefinition assemblyDefinition, ReadOnlyInflatedCollectionCollector allGenerics, AttributeCollection attributeCollection, MethodCollector methodCollector, IMethodVerifier methodVerifier, IInteropDataCollector interopDataCollector, IMetadataCollection metadataCollection, SymbolsCollector symbolsCollector)
at Unity.IL2CPP.AssemblyConverter.Apply()
at Unity.IL2CPP.AssemblyConverter.ConvertAssemblies(NPath[ ] assemblies, NPath outputDir, NPath dataFolder, NPath symbolsFolder)
at Unity.IL2CPP.AssemblyConverter.ConvertAssemblies(IEnumerable1 assemblyDirectories, IEnumerable1 explicitAssemblies, NPath outputDir, NPath dataFolder, NPath symbolsFolder)
at il2cpp.Program.DoRun(String[ ] args)
at il2cpp.Program.Run(String[ ] args)
at il2cpp.Program.Main(String[ ] args)

UnityEngine.Debug:LogError(Object)
UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase, Action1) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:96) UnityEditorInternal.IL2CPPBuilder:RunIl2CppWithArguments(List1, Action1, String) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:313) UnityEditorInternal.IL2CPPBuilder:ConvertPlayerDlltoCpp(ICollection1, String, String) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:304)
UnityEditorInternal.IL2CPPBuilder:Run() (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:151)
UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry, Boolean) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:34)
UnityEditor.HostView:OnGUI()

Third error

Failed running C:\Program Files\Unity\Editor\Data\il2cpp/build/il2cpp.exe --convert-to-cpp --emit-null-checks --enable-array-bounds-check --compile-cpp --libil2cpp-static --platform=“Android” --architecture=“ARMv7” --configuration=“Release” --outputpath=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp/StagingArea\assets\bin\Data\Native\armeabi-v7a\libil2cpp.so” --cachedirectory=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Assets..\Library\il2cpp_android_armeabi-v7a/il2cpp_cache” --additional-include-directories=“C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\bdwgc/include” --additional-include-directories=“C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\libil2cpp/include” --tool-chain-path=“C:/Users/Wahaj/AppData/Roaming/IDM/android-ndk-r10e” --map-file-parser=“C:\Program Files\Unity\Editor\Data\Tools\MapFileParser\MapFileParser.exe” --assembly=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\assets\bin\Data\Managed\Assembly-CSharp-firstpass.dll” --assembly=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\assets\bin\Data\Managed\Assembly-CSharp.dll” --assembly=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\assets\bin\Data\Managed\UnityEngine.UI.dll” --assembly=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\assets\bin\Data\Managed\UnityEngine.Analytics.dll” --assembly=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\assets\bin\Data\Managed\UnityEngine.dll” --assembly=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\assets\bin\Data\Managed\Mono.Security.dll” --assembly=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\assets\bin\Data\Managed\mscorlib.dll” --assembly=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\assets\bin\Data\Managed\Stores.dll” --assembly=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\assets\bin\Data\Managed\System.dll” --assembly=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\assets\bin\Data\Managed\UnityEngine.Purchasing.dll” --generatedcppdir=“C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\Il2Cpp\il2cppOutput”

stdout:
IL2CPP error for type ‘UnityEngine.Purchasing.Security.AppleInAppPurchaseReceipt’ in assembly ‘C:\Users\Wahaj\Desktop\New folder (3)\Size Fixed (Before Patch1)\Claim Resolved\Temp\StagingArea\assets\bin\Data\Managed\Security.dll’
Additional information: Build a development build for more information. Object reference not set to an instance of an object.
il2cpp.exe didn’t catch exception: System.NullReferenceException: Object reference not set to an instance of an object.
at Unity.IL2CPP.MethodBodyWriter.GetMethodCallExpression(MethodReference callingMethod, MethodReference methodToCall, MethodReference unresolvedMethodtoCall, TypeResolver typeResolverForMethodToCall, MethodCallType callType, IRuntimeMetadataAccess runtimeMetadataAccess, VTableBuilder vTableBuilder, IEnumerable1 argumentArray, Boolean useArrayBoundsCheck, Func2 addUniqueSuffix)
at Unity.IL2CPP.MethodBodyWriter.CallExpressionFor(MethodReference callingMethod, MethodReference unresolvedMethodToCall, MethodCallType callType, List1 poppedValues, Func2 addUniqueSuffix, Boolean emitNullCheckForInvocation)
at Unity.IL2CPP.MethodBodyWriter.ProcessInstruction(Node node, InstructionBlock block, Instruction& ins)
at Unity.IL2CPP.MethodBodyWriter.GenerateCodeRecursive(Node node)
at Unity.IL2CPP.MethodBodyWriter.Generate()
at Unity.IL2CPP.MethodWriter.WriteMethodWithMetadataInitialization(CppCodeWriter writer, String methodSignature, String methodFullName, Action3 writeMethodBody, String uniqueIdentifier) at Unity.IL2CPP.MethodWriter.WriteMethodDefinition(MethodReference method, IMethodCollector methodCollector, IMethodVerifier methodVerifier) at Unity.IL2CPP.MethodWriter.WriteMethodDefinitions(IMethodCollector methodCollector, IMethodVerifier methodVerifier) at Unity.IL2CPP.SourceWriter.WriteMethodSourceFiles(NPath outputDirectory, String fileName, IEnumerable1 typeList, IMethodCollector methodCollector, IMethodVerifier methodVerifier, IInteropDataCollector interopDataCollector, SymbolsCollector symbolsCollector, Boolean writeMarshalingDefinitions)
at Unity.IL2CPP.SourceWriter.Write(AssemblyDefinition assemblyDefinition, ReadOnlyInflatedCollectionCollector allGenerics, NPath outputDir, TypeDefinition[ ] typeList, AttributeCollection attributeCollection, MethodCollector methodCollector, IMethodVerifier methodVerifier, IInteropDataCollector interopDataCollector, IMetadataCollection metadataCollection, SymbolsCollector symbolsCollector)
at Unity.IL2CPP.AssemblyConverter.Convert(AssemblyDefinition assemblyDefinition, ReadOnlyInflatedCollectionCollector allGenerics, AttributeCollection attributeCollection, MethodCollector methodCollector, IMethodVerifier methodVerifier, IInteropDataCollector interopDataCollector, IMetadataCollection metadataCollection, SymbolsCollector symbolsCollector)
at Unity.IL2CPP.AssemblyConverter.Apply()
at Unity.IL2CPP.AssemblyConverter.ConvertAssemblies(NPath[ ] assemblies, NPath outputDir, NPath dataFolder, NPath symbolsFolder)
at Unity.IL2CPP.AssemblyConverter.ConvertAssemblies(IEnumerable1 assemblyDirectories, IEnumerable1 explicitAssemblies, NPath outputDir, NPath dataFolder, NPath symbolsFolder)
at il2cpp.Program.DoRun(String[ ] args)
at il2cpp.Program.Run(String[ ] args)
at il2cpp.Program.Main(String[ ] args)
stderr:

Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
at Unity.IL2CPP.MethodBodyWriter.GetMethodCallExpression(MethodReference callingMethod, MethodReference methodToCall, MethodReference unresolvedMethodtoCall, TypeResolver typeResolverForMethodToCall, MethodCallType callType, IRuntimeMetadataAccess runtimeMetadataAccess, VTableBuilder vTableBuilder, IEnumerable1 argumentArray, Boolean useArrayBoundsCheck, Func2 addUniqueSuffix)
at Unity.IL2CPP.MethodBodyWriter.CallExpressionFor(MethodReference callingMethod, MethodReference unresolvedMethodToCall, MethodCallType callType, List1 poppedValues, Func2 addUniqueSuffix, Boolean emitNullCheckForInvocation)
at Unity.IL2CPP.MethodBodyWriter.ProcessInstruction(Node node, InstructionBlock block, Instruction& ins)
at Unity.IL2CPP.MethodBodyWriter.GenerateCodeRecursive(Node node)
at Unity.IL2CPP.MethodBodyWriter.Generate()
at Unity.IL2CPP.MethodWriter.WriteMethodWithMetadataInitialization(CppCodeWriter writer, String methodSignature, String methodFullName, Action3 writeMethodBody, String uniqueIdentifier) at Unity.IL2CPP.MethodWriter.WriteMethodDefinition(MethodReference method, IMethodCollector methodCollector, IMethodVerifier methodVerifier) at Unity.IL2CPP.MethodWriter.WriteMethodDefinitions(IMethodCollector methodCollector, IMethodVerifier methodVerifier) at Unity.IL2CPP.SourceWriter.WriteMethodSourceFiles(NPath outputDirectory, String fileName, IEnumerable1 typeList, IMethodCollector methodCollector, IMethodVerifier methodVerifier, IInteropDataCollector interopDataCollector, SymbolsCollector symbolsCollector, Boolean writeMarshalingDefinitions)
at Unity.IL2CPP.SourceWriter.Write(AssemblyDefinition assemblyDefinition, ReadOnlyInflatedCollectionCollector allGenerics, NPath outputDir, TypeDefinition[ ] typeList, AttributeCollection attributeCollection, MethodCollector methodCollector, IMethodVerifier methodVerifier, IInteropDataCollector interopDataCollector, IMetadataCollection metadataCollection, SymbolsCollector symbolsCollector)
at Unity.IL2CPP.AssemblyConverter.Convert(AssemblyDefinition assemblyDefinition, ReadOnlyInflatedCollectionCollector allGenerics, AttributeCollection attributeCollection, MethodCollector methodCollector, IMethodVerifier methodVerifier, IInteropDataCollector interopDataCollector, IMetadataCollection metadataCollection, SymbolsCollector symbolsCollector)
at Unity.IL2CPP.AssemblyConverter.Apply()
at Unity.IL2CPP.AssemblyConverter.ConvertAssemblies(NPath[ ] assemblies, NPath outputDir, NPath dataFolder, NPath symbolsFolder)
at Unity.IL2CPP.AssemblyConverter.ConvertAssemblies(IEnumerable1 assemblyDirectories, IEnumerable1 explicitAssemblies, NPath outputDir, NPath dataFolder, NPath symbolsFolder)
at il2cpp.Program.DoRun(String[ ] args)
at il2cpp.Program.Run(String[ ] args)
at il2cpp.Program.Main(String[ ] args)

UnityEngine.Debug:LogError(Object)
UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase, Action1) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:96) UnityEditorInternal.IL2CPPBuilder:RunIl2CppWithArguments(List1, Action1, String) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:313) UnityEditorInternal.IL2CPPBuilder:ConvertPlayerDlltoCpp(ICollection1, String, String) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:304)
UnityEditorInternal.IL2CPPBuilder:Run() (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:151)
UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry, Boolean) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:34)
UnityEditor.HostView:OnGUI()

Please help me solve these issues. I’m not very good at reading these long errors. I am using Unity 5.6.1

Anyone? Please look into it.

Is it really a unity support forum? I would really appreciate if someone could help me out. Thanks!

Note that this is a community support forum. Many users and Unity employees are happy to help here, but I don’t think you can expect a response time of two hours. You can purchase a support contract from Unity if you need faster response times.

On to the issue you mentioned:

First, please keep in mind that IL2CPP is not DRM. While certain types of hacking might be more difficult with IL2CPP builds, you should explore proper DRM and security solutions if that is your intent.

In addition, IL2CPP is an ahead-of-time (AOT) compiler, which makes it rather different from Mono’s just-in-time (JIT) compiler. An AOT compiler come with some additional restrictions (Unity - Manual: Scripting restrictions).

With that said, I don’t think this issue is due to an AOT restriction. I’m not sure about the cause of the problem, and the IL2CPP code at the source of the exception doesn’t look suspect at all. Can you provide this project via a bug report? We might be able to help track it down if we can investigate it.

Thank you for the answer.

For your information, when I build using Mono backend, the APK compiles successfully but the editor throws three red errors. Do you think it can be due to those errors? One of the error was related to Facebook SDK and others were “Object not set to an instance”.

I thought I can ignore those red errors since the game compiled successfully. But do you think that could be an issue with IL2CPP?

Can you provide details about the three errors? I can’t say yet if they have an impact or not.