Search Issue Tracker
Fixed
Fixed in 2021.3.28f1, 2022.2.21f1, 2023.1.0b18, 2023.2.0a15
Votes
1
Found in
2021.3.24f1
2022.2.17f1
2023.1.0b13
2023.2.0a12
Issue ID
UUM-33942
Regression
No
Blittable classes are not being pinned and passed directly to the native code when using IL2CPP Scripting Backend
How to reproduce:
1. Open the "IN_38621" project
2. Press File -> Build Settings -> Build
3. In the build folder open the "Il2CppOutputProject\Source\Assembly-CSharp.cpp" script
Expected result: blittable classes are pinned and passed directly to the native code
Actual result: generated code creates a marshalled object on the stack and passes a pointer to the native code
Reproducible with: 2021.3.16f1, 2021.3.24f1, 2022.2.17f1, 2023.1.0b13, 2023.2.0a12
Not reproducible with: 2020.3.47f1, 2021.3.15f1
Testing environment: Windows 10 Pro
Notes:
- Also reproducible on Android
- Not reproducible on WebGL
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
- Building 3D Sample Scenes (URP) Project fails
- Alpha channel is disabled when Alpha Clip Threshold is set to 0
- The Physics 2D Profiler module does not display the information about processed physics in the scene when profiling the application as a Development Build
- A Script Component that has a serialized custom class is not detecting changes in the first boolean variable when entering the Play mode with the Script Components GameObject opened in the Inspector
- “SendMessage cannot be called during Awake“ warnings appear when loading a scene with “LoadSceneAsync“ if using UI Toolkit in the scene
cgrigoras
Nov 29, 2023 14:32
We're pretty certain this fix breaks our game and prevents us from upgrading Unity version, more details here: https://forum.unity.com/threads/il2cpp-class-object-interop-marshalling-fails.1521271/