Hierarchy

# Course Introduction

You can check the production status through the Hierarchy and use it to increase production efficiency.

# About Hierarchy

The Hierarchy tab is a panel where you can see the production status in hierarchy structure (parent-child). It's useful to quickly find entities in a complex map or to manage entities in a systematic manner. Under the top World hierarchy, there are common, maps, and ui entries. The maps and ui entries have their own sub-entries.

[{"Icon":"[png](1634520188174b448bb50e5c64320bb3c882a5b438d6d)","Name":"World","Explanation":"The top class is where you'll find entities that were actually used in production.There are sub-entries, common, maps, and ui. You can see and edit the configuration of the game currently being created."},{"Icon":"[png](163451962580666b43144ad504f8e9e4a7cc01771207a)","Name":"common","Explanation":"You can create a rule that applies to the whole game.You can also add and use components."},{"Icon":"[png](16345995071559181085e7c2544278d4418375d12ca2e)","Name":"maps","Explanation":"Entities placed in maps are located at the sub-level of map entries.There is map01 as the basic sub-entry."},{"Icon":"[png](1634520137460bf156bbec2ef452c9a5a31d9cbec5a61)","Name":"ui","Explanation":"Entities added from the UI Editor go to the sub-entry.There are DefaultGroup, PopupGroup, ToastGroup as basic sub-entries."}]

# Hierarchy Structure

In a hierarchy structure, the top list (entry) is the parent, and the sub-list is the child. In a parent-child structure, parent is the broader category, and things in child belong to the parent. Hierarchical classification is useful when multiple entities have the same property, or when you want to put multiple entities into a group. Especially if you classify a number of entities by a certain standard, you can manage them in a systematic manner. You can make the parent-child structure using drag and drop. Drag and drop an entity that you'd like to set as child under another entity—the dragged entity will become the child. The child entities are affected by the parent entity. For example, if you change TransformComponent of the parent entity, the child entity will change automatically.

> Tip The impact goes one way. (Parent → Child)

You can drag and drop to create a parent-child structure, then make another parent-child structure within that structure. Let's look at an example where objects that were in the same class turn into a parent-child structure. Box3 became the child of Box2, which is the child of Box1, to make a double hierarchy structure (parent-child).

[gif](16595015512015162cbdf29594207ad7fb9c0f51c75b2)  


You can use such a structure to move multiple entities at once, or to change only the parents in the higher level. The following example shows 3 actions.

  * Select Box1 to move the rest of the objects at once.
  * Select Box2 to rotate the object together with Box3 and zoom in.
  * Select Box4 only to move it separately.



All 3 actions above used characteristics of the hierarchy structure. Selecting the parent will affect the child even in the double structure, but since child class cannot affect the parent class, you can change the child's status by selecting the child.

[gif](1661498040265eebb1ccae6574916b97afdfe7fb3a202)

Such a structure is especially useful when you use several entities to make a particular UI or construction. For example, let's say you're making a confirmation message window. If you set the overall background as parent and use the parent-child structure for button background and text, changing the button will not affect entities in another message window.

# Hierarchy Search Function

The search window is right below the tab title. Different result values appear depending on the search criteria, so select and search as needed. There are two search criteria: Name and Component, and they are used as follows.

  * Name : Use when searching for matching values through the entire area of Workspace.
  * Component: Looks up the value with input component from all entities.



[{"index":"Search Name \"chat\"","0":"[png](166149753085952e43e90e24240fabe1c43f54d182c4a)"},{"index":"Search Component \"chat\"","0":"[png](16614975572003bbd30ba3f0c45c19ec477a6e1e22b77)"}]

# Context Menu by Entry

Context menus of Hierarchy's high entries are as follows. For child entities, a separate list will be activated depending on their characteristic.

[{"Entry Name":"World","Menu List":"Create Entity","Explanation":"Creates a new entity."},{"Entry Name":"World","Menu List":"Create Entity as Child","Explanation":"Creates a new child entity."},{"Entry Name":"World","Menu List":"Property","Explanation":"Opens the world's Property Editor window."},{"Entry Name":"World","Menu List":"Go To Entity","Explanation":"Moves to selected entity."},{"Entry Name":"World","Menu List":"Copy Entity ID","Explanation":"Copies entity ID."},{"Entry Name":"common","Menu List":"Create Entity","Explanation":"Creates a new entity."},{"Entry Name":"common","Menu List":"Create Entity as Child","Explanation":"Creates a new child entity."},{"Entry Name":"common","Menu List":"Property","Explanation":"Opens common's Property Editor window."},{"Entry Name":"common","Menu List":"Go To Entity","Explanation":"Moves to selected entity."},{"Entry Name":"common","Menu List":"Add Component","Explanation":"Adds a component to common."},{"Entry Name":"common","Menu List":"Add New Component","Explanation":"Adds a new component to common."},{"Entry Name":"common","Menu List":"Copy Entity Path","Explanation":"Copies entity path."},{"Entry Name":"common","Menu List":"Copy Entity ID","Explanation":"Copies entity ID."},{"Entry Name":"maps","Menu List":"Create New Map","Explanation":"Creates a new map."},{"Entry Name":"maps","Menu List":"Create Entity","Explanation":"Creates a new entity."},{"Entry Name":"maps","Menu List":"Create Entity as Child","Explanation":"Creates a new child entity."},{"Entry Name":"maps","Menu List":"Property","Explanation":"Opens maps' Property Editor window."},{"Entry Name":"maps","Menu List":"Go To Entity","Explanation":"Moves to selected entity."},{"Entry Name":"maps","Menu List":"Copy Entity Path","Explanation":"Copies entity path."},{"Entry Name":"maps","Menu List":"Copy Entity ID","Explanation":"Copies entity ID."},{"Entry Name":"map01","Menu List":"Create New Map","Explanation":"Creates a new map."},{"Entry Name":"map01","Menu List":"Create Entity","Explanation":"Creates a new entity."},{"Entry Name":"map01","Menu List":"Create Entity as Child","Explanation":"Creates a new child entity."},{"Entry Name":"map01","Menu List":"Switch To RectTileMap","Explanation":"Convert to RectTileMape."},{"Entry Name":"map01","Menu List":"Switch To SideViewRectTileMap","Explanation":"Convert to SideViewRectTileMap."},{"Entry Name":"map01","Menu List":"Duplicate","Explanation":"Copies map."},{"Entry Name":"map01","Menu List":"Rename","Explanation":"Changes name of map01."},{"Entry Name":"map01","Menu List":"Property","Explanation":"Opens map01's Property Editor window."},{"Entry Name":"map01","Menu List":"Go To Entity","Explanation":"Moves to selected entity."},{"Entry Name":"map01","Menu List":"Add Component","Explanation":"Adds a component to map01."},{"Entry Name":"map01","Menu List":"Add New Component","Explanation":"Adds a new component to map01."},{"Entry Name":"map01","Menu List":"Copy Entity Path","Explanation":"Copies entity path."},{"Entry Name":"map01","Menu List":"Copy Entity ID","Explanation":"Copies entity ID."},{"Entry Name":"ui","Menu List":"Create Entity","Explanation":"Creates a new entity."},{"Entry Name":"ui","Menu List":"Create Entity as Child","Explanation":"Creates a new child entity."},{"Entry Name":"ui","Menu List":"Property","Explanation":"Opens the ui's Property Editor window."},{"Entry Name":"ui","Menu List":"Go To Entity","Explanation":"Moves to selected entity."},{"Entry Name":"ui","Menu List":"Copy Entity Path","Explanation":"Copies entity path."},{"Entry Name":"ui","Menu List":"Copy Entity ID","Explanation":"Copies entity ID."}]