title: Unity Deserialize Into Scriptable Object
body: <p>Does anyone know why this code below will return the error </p>
  
  <pre><code>ArgumentException: Cannot deserialize JSON to new instances of type 'CatalogueList.'
  UnityEngine.JsonUtility.FromJson[CatalogueList]
  </code></pre>
  
  <p>My Catalogue list lives in my assets and i can serialize and upload to my server perfectly fine, im trying to download my file and fill in all fields with the json. </p>
  
  <p>Here is the code. </p>
  
  <pre><code>void AddDownloadedItems(string text, CatalogueList list)
  {
      CatalogueList inventoryItemList = UnityEditor.AssetDatabase.LoadAssetAtPath("Assets/CatalogueItem.asset", typeof(CatalogueList)) as CatalogueList;
      list = JsonUtility.FromJson&lt;CatalogueList&gt;(text);
  }
  </code></pre>
  
  <p>But as i say it will just return the error? </p>
  
  <p>CatalogueItemList Code</p>
  
  <pre><code>public class CatalogueList : ScriptableObject { 
      public List&lt;CatalogueItem&gt; itemList;
  }
  </code></pre>
  
  <p>Catalogue Item Code</p>
  
  <pre><code>[System.Serializable]                                                           //  Our Representation of an InventoryItem
  public class CatalogueItem
  {
      public string databaseID;
      public string itemName = "New Item";
      public enum PrizeMachine { Bronze, Silver, Gold, Platinum };
      public PrizeMachine myMachine;                     
      public Texture2D itemThumb = null;
      public Texture2D itemIcon = null;
      public string itemThumbName;
      public string itemIconName;
      public string shortDescripion;
      public string fullDescription;                                 
      public int priceInBronze;
      public int priceInSilver;
      public int priceInGold;
      public int priceInPlatinum;
  }
  </code></pre>