Search Issue Tracker
Fixed
Fixed in 1.4.X - Entities
Votes
2
Found in [Package]
1.2.1 - Entities
1.3.X - Entities
1.4.X - Entities
7000.0.0a1
Issue ID
ECSB-1096
Regression
No
Burst compilation error "BadImageFormatException: Expected reference type but got type kind 17" is thrown when using generics with ISystem
How to reproduce:
1. Open the “Reproduce-BadImageFormat“ project
2. Enter the Play Mode
3. Observe the Console window
Expected result: No errors are thrown in the Console window
Actual result: “BadImageFormatException: Expected reference type but got type kind 17“ error thrown in the Console window
Reproducible with: 1.0.16 (2022.3.28f1), 1.2.1 (2022.3.28f1, 6000.0.1f1)
Could not test with: 0.51.1-preview.21 (2021.3.38f1) (ISystem was not implemented yet)
Reproducible on: macOS 13.5.2 (Intel), Windows 11 (User’s)
Not reproducible on: No other environments tested
Note: The issue stems from the “[assembly: RegisterGenericSystemType(typeof(GenericSystem<TestType>))]“ code snippet.
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- ”Lighting data asset ‘LightingData’ is incompatible with the current Unity version…” warnings are thrown when saving Indoors (URP) and Outdoors (URP) Scenes as Scene Templates
- [iOS] The screen blinks when transitioning from custom to Unity splash screen
- [macOS] ”Ignoring depth surface load action as it is memoryless” warnings are thrown when taking Game View Snapshot
- UI Builder Inspector scrolls back up when changes on an expanded but not fully displayed Inspector tab are saved
- Group Node name text is way smaller in the renaming state than the actual display size
Resolution Note (fix version 1.4.X - Entities):
Fixed the isystem ilpp to properly process generic ISystems in multiple assemblies. In addition it allows an assembly to be processed even if there are no unmanagedComponentSystemTypes in the assembly (basically when the assembly has no systems). This causes a problem when there are no systems, but there are [assembly: RegisterGenericSystemType()] calls.