Where do methods mocked with [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] end up?

A lot of the time when reflecting Unity’s assemblies, we see dead ends like this:

// UnityEditor.SerializedObject
internal extern void Cache(int instanceID);

Where does this go from here? - To the C++ side? If so, where is this ‘C++ side’ located? is it baked into Unity.exe or something? How can we inspect further?


Some go straight to the c++ side, some are calling dot net functions internal to unity. Either way, it will be calling into code that is built into the unity player (which is unity.exe when running the editor). You unfortunately can’t dig into them though as far as I know - I’d love to stand corrected on that though!