Search Issue Tracker
Fixed in 2018.2.X
[iOS][IL2cpp] The C++ code generation done by IL2CPP is wrong when using the C# "out" keyword
1. Open User's project
2. Set Scripting Backend to IL2CPP
3. Open "ffi_unity.cs" and "ffi.cs"
4. Set print_and_change_value_ios parameter to "ref"
5. Build for iOS
6. In Xcode console notice that "argument current value is 11" is printed
7. Change print_and_change_value_ios parameter to "out"
8. Build for iOS
9. Notice that "argument current value is 0" is printed.
Note: User included very useful README.md that explains the bug more in depth.
Expected behaviour: Ref and Out keywords work the same.
Actual result: C# Out keyword is working incorrectly with IL2CPP code generation.
Reproduced on versions: Unity 5.5.6f1, 5.6.5p1, 2017.1.3p1, 2017.2.1p3, 2017.3.1f1, 2018.1.0b6
Reproduced on device: iPhone 7 Plus iOS 10.3.2
Did not reproduce with Mono.
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- [2023.2] HDRP Asset Settings Helper throws a NullReferenceException
- [URP] SubmitRenderRequest with NativeRenderPass + Upscaling doesn't work
- “ArgumentOutOfRangeException” error appears when inserting a double character if using “SetValueWithoutNotify” on UI Toolkit’s TextField
- Particle System emission delays between particle generations when playing the simulation
- EditorUtility.DisplayDialog is not shown when Input.GetMouseButtonDown is called a second time