Search Issue Tracker
Fixed in 2020.1
Fixed in 2017.4, 2018.4, 2019.3
[IL2CPP] Marshal.OffsetOf returns incorrect offset for Vector3
How to reproduce:
1. Open attached project "MarshallOffsetOfIssue.zip" with IL2CPP Editor
2. Open Scene "SampleScene"
3. Enter Play mode (observe the OriginalVector3 and offsets)
4. Build and Run with IL2CPP (observe the OriginalVector3 and offsets)
Expected result: Editor and Build has the same results (1.1, 2.2, 3.3)
"idOffset: 0; worldPositionOffset: 4; typeOffset: 16; OriginalVector (1.1, 2.2, 3.3); id: 123; Vector (1.1, 2.2, 3.3); type: 4"
Actual result: On Build the offset vector is incorrect
"idOffset: 0; worldPositionOffset: 12; typeOffset: 24; OriginalVector (1.1, 2.2, 3.3); id: 123; Vector (3.3, 5.605194E-45, 6.869364E-36); type: -1826805822"
Reproducible with: 2018.4.13f1, 2019.2.14f1, 2019.3.0f1, 2020.1.0a15
Could not test with: 2017.4 (IL2CPP was not yet released)
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- Visual C# Compiler fails to locate assembly if response file compiler argument path contains spaces
- Constantly creating and destroying CharacterController component causes a memory leak
- Memory usage 20GB when importing Common USS stylesheets
- Custom built DLL's scripts which have classes derived from UIBehaviour cannot be added as a component after deleting Library
- WebGL WaitForSeconds works incorrectly on low fps