title: Can't assign ScriptableObject in inspector
body: <p>I'm having trouble with assigning ScriptableObjects in inspector.</p>
  
  <p>For example, I have this class:</p>
  
  <pre><code>using UnityEngine;
  
  public class Buff : ScriptableObject {
      public string buffName;
  }
  </code></pre>
  
  <p>In one of the monobehavior-derived classes, I have a member like this:</p>
  
  <pre><code>public Buff testBuff;
  </code></pre>
  
  <p>In inspector I see the following, but I can't drag+drop script 'Buff' to this member <img src="https://i.stack.imgur.com/HDAc0.png" alt="enter image description here"><br>
  It works to drag+drop Buff as a new script, but I can't add it to 'Test Buff'.</p>
  
  <p>What I tried instead of dragging+dropping is to simply create an instance of Buff like so:</p>
  
  <pre><code>public Buff testBuff = new Buff();
  </code></pre>
  
  <p>This worked:
  <img src="https://i.stack.imgur.com/2llQl.png" alt="enter image description here"> However I believe drag+drop should work as well, plus the above gives warning:</p>
  
  <pre><code>Buff must be instantiated using the ScriptableObject.CreateInstance method instead of new Buff.
  UnityEngine.ScriptableObject:.ctor()
  Buff:.ctor()
  ...
  </code></pre>
  
  <p>I'm using Unity "5.0.2f1 Personal", which is the latest version.</p>