Search Issue Tracker




Found in




Issue ID




PlayerBuildInterface.ExtraTypesProvider no longer provides types to IL2CPP



`PlayerBuildInterface.ExtraTypesProvider` was an undocumented feature used to allow code to provide a list of types that would be passed to IL2CPP when generating cpp. This allowed for code to provide closed forms for generic types/methods that cannot be seen statically by IL2CPP.

In 2021 and newer, this feature no longer works. Entities-0.51 is the first release for with Unity 2021 support and the removal of this feature is currently causing runtime exceptions being thrown in users upgrading from 2020 (

Users have a workaround by enabling generic sharing however in 2021 this is not the default behaviour, and enabling generic sharing comes with a performance cost.

Re-adding the feature would restore the previous correctness and performance seen in 2020. Unity 2022 enabled generic sharing as a fallback which hides the problem for users but sneakily still adds the performance cost with this feature removed so adding it back to 2022+ would be worthwhile until a better approach to providing additional types to IL2CPP can be created.

Original report, thread of updates/discussion and provided repro/test case:

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.