Search Issue Tracker
Fixed in 5.3.7
[IL2CPP] MarshalDirectiveException; marshaling of delegates as fields of a struct is not working
Issue with marshaling of delegates as fields of a struct when using IL2CPP - As noted by the user, there are no issues when using the Mono backend.
Originally reported at: https://community.unity.com/t5/Scripting/IL2CPP-MarshalDirectiveException/m-p/2648350#U2648350
Bug reported at the request of Joshua Peterson.
Steps to Reproduce
1.Download the users reproduction project ('New Unity Project.zip').
2.Open in the editor and switch to a platform that supports IL2CPP.
3.Check that the scripting back-end is set to IL2CPP
4.Important: Tick 'Development Build' in the player settings (otherwise you won't see the exception in the TTY)
4.Select Build and Run
Running a build produced with '5.4.0f1' the following exception is spammed to the TTY:
UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object)
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)
MarshalDirectiveException: Cannot marshal field 'gameWorldReservedCB' of type 'SAMCallbacks': Reference type field marshalin
g is not supported.
at SAMTest.samInitialize (IntPtr inParams, SAMCallbacks& callbacks) [0x00000] in <filename unknown>:0
at SAMTest.Update () [0x00000] in <filename unknown>:0
(Filename: currently not available on il2cpp Line: -1)
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- Semi transparent particles are incorrect in the game view
- [iOS] UI elements are invisible on iOS devices when using AdditionalUIRenderer
- Setting ArticulationBody.collisionDetectionMode at runtime via script to Discrete does not work if its being set from Continuous
- [iOS] Crash on ScriptingGCHandle::Acquire when calling RequestUserAuthorization without using yield for pending authorization
- Particle is not visible in RenderTexture when Renderer's material is set to Default-Particle and Camera's BG Alpha is set 0