Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unity beta realm dependency causes IL2CPP build errors #2666

Closed
jonathan-opuscope opened this issue Sep 30, 2021 · 7 comments · Fixed by #2810
Closed

Unity beta realm dependency causes IL2CPP build errors #2666

jonathan-opuscope opened this issue Sep 30, 2021 · 7 comments · Fixed by #2810
Assignees

Comments

@jonathan-opuscope
Copy link

What happened?

More a heads up than a bug, don't know if it's the right place (Unity 2021.2.0b13)

Can't build iOS with unity realm dependency installed as described here

Repro steps

Create Unity project
Add Realm dependency
Select iOS target
Unity Build

Version

Unity Realm package 10.6.0

What SDK flavour are you using?

MongoDB Realm (i.e. Sync, auth, functions)

What type of application is this?

Unity

Client OS and version

Unity 2021.2.0b13

Code snippets

No response

Stacktrace of the exception/crash you're getting

Exception: Unity.IL2CPP.Building.BuilderFailedException: Build failed with 0 successful nodes and 1 failed ones
Annotation: IL2CPP_CodeGen /Users/jonathan/Documents/Dev/realm/RealmBetaTest/Library/Il2cppBuildCache/iOS/buildstate/artifacts/il2cpp_conv_hn6f.traceevents
Cmdline: "/Applications/Unity/Hub/Editor/2021.2.0b13/Unity.app/Contents/il2cpp/build/deploy/il2cpp" --convert-to-cpp --directory="/Users/jonathan/Documents/Dev/realm/RealmBetaTest/Temp/StagingArea/Data/Managed" --data-folder="/Users/jonathan/Documents/Dev/realm/RealmBetaTest/Library/Il2cppBuildCache/iOS/il2cppOutput/Data" --generatedcppdir="/Users/jonathan/Documents/Dev/realm/RealmBetaTest/Library/Il2cppBuildCache/iOS/il2cppOutput" --symbols-folder="/Users/jonathan/Documents/Dev/realm/RealmBetaTest/Library/Il2cppBuildCache/iOS/il2cppOutput/Symbols" --additional-cpp="/Users/jonathan/Documents/Dev/realm/RealmBetaTest/Library/Il2cppBuildCache/iOS/additionalCppFiles/UnityClassRegistration.cpp" --additional-cpp="/Users/jonathan/Documents/Dev/realm/RealmBetaTest/Library/Il2cppBuildCache/iOS/additionalCppFiles/UnityICallRegistration.cpp" --emit-null-checks --enable-array-bounds-check --code-generation-option=EnableInlining --stats-output-dir="/Users/jonathan/Documents/Dev/realm/RealmBetaTest/Library/Il2cppBuildCache/iOS/il2cppOutput" --dotnetprofile=unityaot-macos --cachedirectory="/Users/jonathan/Documents/Dev/realm/RealmBetaTest/Library/Il2cppBuildCache/iOS" --profiler-report --profiler-output-file="/Users/jonathan/Documents/Dev/realm/RealmBetaTest/Library/Il2cppBuildCache/iOS/buildstate/artifacts/il2cpp_conv_hn6f.traceevents"
ExitCode: 1
Stdout: 
Failed because this command failed to write the following output files:
/Users/jonathan/Documents/Dev/realm/RealmBetaTest/Library/Il2cppBuildCache/iOS/buildstate/artifacts/il2cpp_conv_hn6f.traceevents
/Users/jonathan/Documents/Dev/realm/RealmBetaTest/Library/Il2cppBuildCache/iOS/buildstate/artifacts/il2cpp_conv_hn6f.traceevents

Relevant log output

No response

@jonathan-opuscope jonathan-opuscope changed the title Unity beta realm dependency causes IL2CPPP build errors Unity beta realm dependency causes IL2CPP build errors Sep 30, 2021
@nirinchev
Copy link
Member

Hey Jonathan, appreciate the heads-up. We're generally not supporting beta releases of Unity as those has often introduced regressions that are typically resolved before the release is GA-ed. Our hope is that this will be the case for the IL2CPP issues you're seeing, but we'll definitely keep an eye on it.

@nirinchev
Copy link
Member

I tried using 2021.2.1f1 and the build works well for me, so I guess Unity has fixed this during the beta evaluation. If you are encountering this with any of the official releases, let us know, and we'll work with you to figure out how to reproduce it locally.

@rscholtes
Copy link

hey @nirinchev
don't know if this is the same issue, but for me 2021.2.1f1+ is not working with il2cpp. If i make a default URP project, add realm, try to compile it on IOS (il2cpp) i get the error below. It wont compile to a xcode project. When i remove realm, compiling to a xcode project will work. Swapping to Android(il2cpp) has the same result. Android(mono) works fine.

Exception: Unity.IL2CPP.Building.BuilderFailedException: Build failed with 0 successful nodes and 1 failed ones
Annotation: IL2CPP_CodeGen /Users/user/Desktop/realmpje/Library/Il2cppBuildCache/iOS/buildstate/artifacts/il2cpp_conv_82ai.traceevents
Cmdline: "/Applications/Unity/Hub/Editor/2021.2.1f1/Unity.app/Contents/il2cpp/build/deploy/il2cpp" --convert-to-cpp --directory="/Users/user/Desktop/realmpje/Temp/StagingArea/Data/Managed" --data-folder="/Users/user/Desktop/realmpje/Library/Il2cppBuildCache/iOS/il2cppOutput/Data" --generatedcppdir="/Users/user/Desktop/realmpje/Library/Il2cppBuildCache/iOS/il2cppOutput" --symbols-folder="/Users/user/Desktop/realmpje/Library/Il2cppBuildCache/iOS/il2cppOutput/Symbols" --additional-cpp="/Users/user/Desktop/realmpje/Library/Il2cppBuildCache/iOS/additionalCppFiles/UnityClassRegistration.cpp" --additional-cpp="/Users/user/Desktop/realmpje/Library/Il2cppBuildCache/iOS/additionalCppFiles/UnityICallRegistration.cpp" --emit-null-checks --enable-array-bounds-check --code-generation-option=EnableInlining --stats-output-dir="/Users/user/Desktop/realmpje/Library/Il2cppBuildCache/iOS/il2cppStats" --dotnetprofile=unityaot-macos --cachedirectory="/Users/user/Desktop/realmpje/Library/Il2cppBuildCache/iOS" --profiler-report --profiler-output-file="/Users/user/Desktop/realmpje/Library/Il2cppBuildCache/iOS/buildstate/artifacts/il2cpp_conv_82ai.traceevents"
ExitCode: 134
Stdout: 
Stack overflow.
   at Unity.IL2CPP.DataModel.MethodDefinition.get_HasFullySharedMethod()
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.CustomAttribute, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.Visitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.GenericsCollection.GenericContextFreeVisitor.Visit(Unity.IL2CPP.DataModel.MethodDefinition, Unity.IL2CPP.DataModel.Visitor.Context)
   at Unity.IL2CPP.DataModel.Visitor.<message truncated>

@nirinchev
Copy link
Member

Interesting... I'll reopen this and investigate.

@nirinchev nirinchev reopened this Dec 1, 2021
@yMiecie
Copy link

yMiecie commented Jan 19, 2022

Hi,

I'm having the same issue than @rscholtes on iOS and Android with URP and Unity 2021.2.7f1 .

@DominicFrei
Copy link
Contributor

@rscholtes @yMiecie Thank you for reporting this. I was able to reproduce it locally too.
See last four commits on https://github.com/DominicFrei/Playground/commits/df/IL2CPP-repro

It seems like this is a Unity bug, I have reported https://fogbugz.unity3d.com/default.asp?1396246_gd9t5cft74dmj8qq just now.

@nirinchev
Copy link
Member

Looks like it's caused by a regression in the IL2CPP compiler. While I think it should be fixed on the Unity end, we should try and workaround it by removing the [UsedImplicitly] attribute from the UsedImplicitly constructor. Or drop the attribute entirely as it's not something Unity respects anyway.

@nirinchev nirinchev assigned fealebenpae and unassigned nirinchev Feb 3, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 14, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants