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

IL2CPP

-

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

  1. 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.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.