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.
- Tabbed headers in editor windows need a style update
- [Android][IL2CPP] App crashes after executing Application.Quit
- [iOS] ReplayKit.APIAvailable returns 'false' on the first call on iOS 13 devices
- Texture preview can be clicked through
- [Progress] Progress bar does not revert to unresponsive status after another task completes