Mission Hierarchy

Mission Hierarchy Example 1

Often a good way to start a project, especially with simulations, is to create a mission hierarchy of the project. 
This is usually based on video, image or text reference materials provided to you.
In the case of a video game it is based on your own game design document and planning.
On right there's a mission hierarchy from VDAcademy_Basics-scene.

We recommend using similar naming scheme: AsXX_ObXX_[name].
The naming scheme doesn't really matter for the mission system, it's just to keep it clear and readable at glance.

Mission Hierarchy Example 2

Here's a longer one from soft ice cream machine maintenance simulation:
This mission hierarchy can be created before having any gameplay or anything else done. 
It will work nicely as a backbone to keep your project on track.

You can even plan you missions in advance outside Unity like the example below.

Mission Hierarchy Example 3

As you can see from the examples, the actual game object hierarchy goes as follows:
MISSIONS[empty parent]
----Mission01[Has the mission-component]
------Assignment01[Has the assignment-component]
--------Objective01[Has the objective component]
--------Objective02[Has the objective component]

In addition to the above, there is one vital part missing: the Mission Manager. 
This component/prefab is separate from the actual mission hierarchies, 
because it is a static component and will track missions from any scene that is loaded.
Usually this prefab is added to the InitScene and forgot.
The mission manager shouldn't be tweaked in editor at all. It will work automatically in runtime.

Mission Hierarchy Example 4