For our Capstone project, I designed a Quest System in Unity. How it works is you have a Quest object, it has an array of Tasks. When a task is completed it will move on to the next until the Quest is completed.
The tasks that are currently implemented in our game are:
- Go To X Location
- Collect X Amount of Item
- Kill X Amount of Enemies
- Talk To/Dialogue
- Collect Multiple (Collect X but with More than 1 Item)