Link Search Menu Expand Document

Header Elements

There are four types of elements that may be used in row and column headers: Prefab Name, Game Object Name, Component Type and Property Path.

An important thing is that these elements always go in the specified order, i.e. you cannot put Component Type after Property Path. This rule is applicable even when these elements are split between row and column headers. In this case the row header is considered a prefix for the column header.

It does not matter for Game Tables how exactly you split the required elements between row and column headers while all the restrictions listed in Headers Format are met. So, the following compositions actually refer the same property:

Row Header Column Header
Player / Gun <Clip> Bursts[0] Pellet Count
Player / Gun <Clip> Bursts[0].Pellet Count
Player Gun <Clip> Bursts[0].Pellet Count
Keep in mind, that meaning of row and column headers may be flipped by setting Orientation property of a GameTable to Object Per Column.

The only required elements that any cell should contain are Prefab Name and Property Path.

Prefab Name

Prefab Name locates a Prefab or a ScriptableObject inside the project. Game Tables searches for this name recursively starting from the directory specified in the Search Path property of a GameTable object.

Requirements:

  • Prefab Name should be a simple name, it cannot contain any hierarchy.
  • Prefab Name must be specified in a Row Header.

Examples:

  • Burst Rifle
  • Level 1 AI Settings

Game Object Name

Game Object Name path locates a GameObject inside a Prefab. Game Tables searches for this name recursively starting from the Prefab’s root GameObject.

Requirements:

  • Game Object Name is only applicable to Prefabs, it should not be used in cells that target ScriptableObjects.
  • Game Object Name should be a simple name, it cannot contain any hierarchy.
  • Game Object Name is optional, you may omit it from both row and column headers.

Examples:

  • Spawn Point 1
  • Muzzle

Component Type

Component Type locates a Component inside a GameObject. Because a GameObject may contain several Components, a simple property name may be ambiguous. So, Component Type allows you to specify the exact component type the property should be applied to. When Game Object Name is not specified, Game Tables searches for the required component and property combination across all the GameObjects inside a Prefab.

Requirements:

  • Component Type is only applicable to Prefabs, it should not be used in cells that target ScriptableObjects.
  • Component Type is optional, you may omit it from both row and column header.

Component Type should be enclosed in angular brackets:

  • <Rigid Body>
  • <Enemy Brain>

Property Path

Property Path locates a specific property inside a Component or ScriptableObject. Property Path may be hierarchical and contain array and wildcard indexers.

Requirements:

  • Property Path (or its suffix) must be specified in a Column Header.

Property Path may be combined from row and column headers. In this case content of a column header is added to the end of the row header:

Row Header Column Header Resulted Property Path
Position X Position.X
Patterns[0] Spread.Power Patterns[0].Spread.Power

You may notice that in some cases the . separator was added to the result to distinguish path elements.

Examples:

  • Position.X
  • Waves[0].Enemies to Spawn
  • Spawn Points[*].Position