title: Implementing a Quest System in Unity3D
body: <p>Good day all.</p>
  
  <p>I'm working on a story-driven game in Unity3D and I want to have quests the player must complete to progress through the story.</p>
  
  <p>What would be the best and most efficient way to implement a quest system?</p>
  
  <p><strong>Currently I have the following data structure in mind:</strong></p>
  
  <ul>
  <li>Quest (Class)
  
  <ul>
  <li>Quest name</li>
  <li>Quest description</li>
  <li>Quest Reward</li>
  <li>Quest Location</li>
  <li>Is it a side quest?</li>
  <li>What's the name of the main quest?</li>
  <li>Is it necessary to continue main quest?</li>
  </ul></li>
  <li>QuestManager (Class)
  
  <ul>
  <li>List of all quests</li>
  <li>What quest is the play currently pursuing?</li>
  <li>List of objectives and side quests of the current quest</li>
  <li>What objective is the play suppose to complete in the current quest?</li>
  <li>Checks whether the player has completed a quest/objective/side quest    and handles events accordingly</li>
  </ul></li>
  </ul>
  
  <p>The data structure looks pretty reasonable but I don't know how to implement in such a generic way that I can easily and quickly create quests in my game. Any ideas?</p>