static unsafe void OnAsyncConversionComplete(ARWorldMapRequestStatus status, int worldMapId, IntPtr context) { var handle = GCHandle.FromIntPtr(context); var onComplete = (Action <ARWorldMapRequestStatus, ARWorldMap>)handle.Target; if (status.IsError()) { onComplete(status, default(ARWorldMap)); } else { var worldMap = new ARWorldMap(worldMapId); onComplete(status, worldMap); } handle.Free(); }