How to reproduce:
1. Open the “AffineTransform.zip“ project
2. Build and run the “SampleScene“ with a IL2CPP background
3. Observe the label at the top-left corner of the build
Expected result: “AffineTransform((1f, 0f, 0f, 0f, 1f, 0f, 0f, 0f, 1f), (0f, 0f, 0f))” is displayed
Actual result: “AffineTransform((0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f), (0f, 0f, 0f))” is displayed
Reproducible in: 2021.3.45f1, 2022.3.50f1, 6000.0.23f1
Reproduced on: Windows 11 Pro (23H2)
Not reproduced on: No other environment tested
Notes:
- Not reproducible in Mono builds or the Editor
- The user states that it is likely caused because “AffineTransform has [Il2CppEagerStaticClassConstruction] and is initialized before float3x3, but [AffineTransform] depends on float3x3.identity“
- In “Unity.Mathematics” versions 1.2.6 and below, the “AffineTransform” does not exist