public object SetObjectData(object obj, SerializationInfo info, StreamingContext context, ISurrogateSelector selector)
 {
     if (obj is IPersistantUnityObject)
     {
         (obj as IPersistantUnityObject).OnDeserialize(info, context, _assets);
         if (obj is AutoPersistantAssetToken)
         {
             return((obj as AutoPersistantAssetToken).PreemptiveCreate());
         }
         return(obj);
     }
     else
     {
         return(SimpleUnityStructureSurrogate.GetValue(obj, info, context));
     }
 }
 public object SetObjectData(object obj, SerializationInfo info, StreamingContext context, ISurrogateSelector selector)
 {
     return(SimpleUnityStructureSurrogate.GetValue(obj, info, context));
 }