title: Unity ScriptableObjects and DontDestroyOnLoad
body: <p>I have a couple small questions about ScriptableObjects.</p>
  
  <p>1) From doing menial tests, it appears that the scriptableobject asset is never loaded into memory (i.e. deserialized) unless there is an object that is already referencing it. Is there a way that I can make these scriptableobjects load at the start of the game without any hard references to them?</p>
  
  <p>2) I am trying to use hideflags.DontDestroyOnLoad to keep the scriptableobjects alive throughout the game. I read on the documentation that you need to destroyimmediate these objects to prevent memory leaks. Do i need to add that to OnDisable or something similar to kill itself when done? I intend to use the same scriptableobjects again when the game is reopened, i just wasn't sure if it was entirely necessary to kill the objects every time the game is closed.</p>
  
  <p>Thanks, I am trying to grasp exactly how scriptableobjects function and some best practices when using them.</p>