Search Issue Tracker
Fixed in 2021.1.X
Fixed in 2019.4.X, 2020.1.X, 2020.2.X
[IL2CPP] UnsafeUtility methods generate garbage when using IL2CPP Scripting Backend
How to reproduce:
1. Open the attached "1271254 repro" project
2. Open Build Settings and make sure that Development Build and Autoconnect Profiler options are checked
3. Build and Run the project
4. Open the Profiler window from Window > Analysis > Profiler
5. Open the Memory Module of the Profiler window
Expected results: UnsafeUtility doesn't generate garbage regardless of the Scripting Backend
Actual results: UnsafeUtility generates garbage when using IL2CPP
Reproducible with: 2019.3.0f1, 2019.4.8f1, 2020.1.0a1, 2020.1.3f1, 2020.2.0a21
Could not test with: 2018.4.26f1 (certain UnsafeUtility methods aren't available), 2019.3.0b12 and earlier (required versions of Collections package aren't available)
-The memory spikes in the profiler are around 36kB in size when using IL2CPP
-Switching Scripting Backend to Mono makes the issue disappear completely without tiniest memory spikes
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- deadlock in AssetDatabase_AcceleratorClient_Scheduling.ScheduledRequest_Status_InProgress
- Texture Compression settings on Android and WebGL Platforms are reset to default when building the project using a script
- Camera active Texture is not written if another camera has a Script using "OnRenderImage"
- The Camera's background color is white when the device Appearance is "Light Mode"
- Some GameObjects ignore the Default Parent when creating them in the Hierarchy