Search Issue Tracker
Fixed in 2019.2.X
Votes
0
Found in
2018.3.6f1
2018.3.7f1
Issue ID
1131557
Regression
No
The generated IL2CPP code no longer Marshals a Struct to its Native Representation before passing it to a Native Function
To reproduce:
1. Download attached project "IL2CPPMarshalling.zip" and open in Unity
2. Open "Main" scene
3. Build for iOS
4. In the generated iOS Build folder under Classes > Native open "Bulk_Assembly-CSharp_0.cpp"
5. Search for "SendHandle"
6. Observe that IL2CPP code no longer performs a Marshaling step to Native Representation
Notes:
- Differences between 2018.2 and 2018.3 are attached in the Comments section
Reproduced on Unity 2018.3.6f1, 2018.3.7f1, 2019.1.0b5 and 2019.2.0a6
Not reproduced on Unity 2018.2.20f1 and 2018.3.5f1
Regression on Unity 2018.3.6f1
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
- "Report is from another project" popup warning is shown on domain reload when Project Auditor was previously ran in a different project
- Addressables Analyzer flags duplicate resource references from ScriptableObjects incorrectly when the corresponding field has been removed
- "IndexOutOfRangeException" and "NullReferenceException" are thrown and Element disappears from UI Builder when undoing rename of element in "Open Instance in Context" menu
- Select Scriptable Object window freezes and becomes unresponsive when currently opened UXML Template is selected for binding's Data Source
- [Linux] “ReleaseButton expects buttonId >= 0” error is thrown when importing Assets via drag and drop
Resolution Note (fix version 2019.2):
The default array marshaling behavior for blittable arrays as fields was changed in 2018.3 to match the .NET Framework behavior.