Modding: Research

This article is updated for Update 15.

Research subjects are defined in the file Research.txt.

In this file you define the available research subjects, their prerequisites, costs, and bonuses that they unlock.

**Note**: Every research subject and category must have a display name in the localization file Texts.txt using the following format:

```
research.preserving.name=Preserving

```

## Research Category

Every research subject belongs to a category:

```
research.base.farming.category=base

```

In the example above, every research subject that inherits "research.base.farming" (using the parent attribute as explained in Modding: Mod File Structure) will belong to the category "base" and appear under the "Base" tab.

The categories themselves are defined in the Research.txt file along with the research subjects:

```
research.category.base.color=71,167,71
research.category.base.tabcolor=202,245,202

```

The research category text is defined in the Texts.txt file using the following format:

```
research.category.base=Base

```

You may add additional research categories.

## Research Tier

Research should have a "level" property that determines the research subject's tier. This is used to determine the player's current research level to decide what wares a trader will offer, and possible for other uses in the future.

```
research.base.level1.level=1

```

The best way to define the tier is for the research subject to inherit one of the base level classes:

```
research.entity.rainwatercollection.parents=research.base.farming,research.base.level2

```

Notice the "rainwatercollection" research inherits the "research.base.level2" class which determines its level.

## Research Icon

You must define the name of the icon to display for each subject in the research tree.

Format:

```
research.entity.woodworking.sprite=research_woodworking

```

Research icons are typically chromatic/brownish png files of size 512x512 pixels.

See Modding: Adding Images to Mods for more information on how to add new images.

## Prerequisite

Research subjects may have a pre-requesite research subject, that appears above them in the research tree.

Fromat:

```
research.entity.brickmaking.research=woodworking

```

In this example, before "brickmaking" can be unlocked, "woodworking" must be researched first.

## Research Effects

Research subject may provide passive bonuses when unlocked. To define the bonuses received by each research, use the following format:

```
research.entity.waterdistribution.effect=waterdistribution

```

the "waterdistribution" research provides a "waterdistribution" passive effect. More than one effect may be defined using comma separated values.

See Modding: Global Effects for more information on defining the passive effects themselves.

## Research Costs

Performing research costs research points (occult or science), and may cost other resources as well.

Define what the costs of unlocking a research subject using the following format:

```
research.entity.scavenging.costs.physics1=850
research.entity.scavenging.costs.minerals=30

```

In this example, unlocking the "scavenging" research costs 850 of "physics1" (Science research points) and 30 "minerals".

See Modding: Items on how to define the resource items themselves.

## Tree structure

It is recommended to keep a structure within a category that includes a linear tree with a main trunk and smaller branches within that trunk, as in the default research tree.

To define a node as a "main trunk" node (this node will be displayed in the center of the tree, if possible), use the following format:

```
research.entity.logistics.parents=research.base.unlock

```