title: Save and Load the state of gameobjects in a scene in Unity
body: <p>So what I am trying to accomplish is when I load a scene I want to have certain objects to be active or inactive depending on their the information saved in my files.</p>
  
  <p>Example being :</p>
  
  <p>In my game, when I load one of my scenes there is a wall, then I push a bookcase to a certain point and triggers the wall to be set to inactive.  I exit this scene and come back to the scene and the wall is active again.  What I want is when the wall is set inactive, it stays inactive even when I leave the scene and and won't appear when I come back to the scene later.</p>
  
  <p>The trouble I am having is how to do this.  At the moment what I have is when the player clicks the "New Game" button I generate a new Game_Info and select the Default() :</p>
  
  <pre><code>[Serializable]
  public class Game_Info {
  
      public bool WoodWallEnabled;
  
      public void Default(){
          WoodWallEnabled = true;
      }
  }
  </code></pre>
  
  <p>My WoodWall script :</p>
  
  <pre><code>public class Get_WoodWall_Info : MonoBehaviour {
  
      void Awake () {
          gameObject.SetActive (Helper_Manager.instance.gameInfo.WoodWallEnabled);
      }
  }
  </code></pre>
  
  <p>I have a feeling I am not doing this the right way and that there is a better way to handle this, especially since doing like this would need a unique script for each gameobject that I would like to manipulate through my saved file (Get_WoodWall_Info, Get_WoodWall_Info1, etc...) but even if I created enourmous amounts of scripts to do this, I can't find a way to save the state of the gameobjects.</p>
  
  <p>How would you handle and pass around this kind of data?</p>