public object Deserialize(IUnityData data) { if (data == null || data.Size == 0) { return(null); } using (var strm = new System.IO.MemoryStream()) { UnityEngine.Object[] refs; data.GetData(strm, out refs); strm.Position = 0; _surrogate.StartDeserialization(refs); var result = _formatter.Deserialize(strm); _surrogate.StopDeserialization(); return(result); } }