How to reproduce:
1. Open the attached "IN-148660" project
2. Edit > Project Settings > Player > Other Settings > Configuration: set Scripting Backend to “IL2CPP” and IL2CPP Code Generation to "Optimize for code size and build time"
3. Build and Run a "Windows" player with Development build turned “ON”
4. Observe Development Console in bottom-left corner
Actual result: the build succeeds with no warning, but the IL2CPP player throws TypeLoadException "Invalid field offset at offset 145" in the Development Console
Expected result: the struct loads and runs in the IL2CPP player the same as in the editor and Mono
Reproducible with: 6000.5.0a2, 6000.5.6f1, 6000.6.0a1
Not reproducible with: 6000.0.80f1, 6000.3.21f1, 6000.5.0a1, 6000.6.0b6, 6000.7.0a3
Fixed in: 6000.6.0a2 (64de5ee36373)
Reproducible on: Windows 11 (25H2)
Not reproducible on: no other environments tested
Workaround: reorder struct fields (references first, then value fields, 1-byte fields last), and don't use Nullable<T> on the struct itself - use a plain T plus a separate bool flag instead