Progress Graph

The progress graph editor allows you to visually design your progression/techtree graphs with a node editor.
Global Properties
Small Nodes: If enabled, the editor shows smaller nodes
Canvas Width & Height: Defines the node canvas size, this values are being used when building the runtime UI. The appropriate UI RectTransform parent container (node canvas) will be set to this size.
Create new node
First, create a new Progress Graph object. Select the Progress Graph type in the hierarchy and click on + Create
You can now see an empty node canvas. Right click on it and select Progress Node.
Connect Nodes
To connect nodes, simply right click on the first node, select "Connect" and then click on another node you want to connect to.
Node Properties
A Progress node has multiple properties by default. A Progress Node is a DataObject which can be derived from to add additional custom data fields if you like.

Research State: The research state of this node (Locked, Unlocked, InProgress, Complete)
Research Time: The time it takes to research this node
Research Costs: The costs in ProgressResources it takes to be able to research this node
Custom Node
You can create custom progress nodes by simply deriving from the ProgressNode class. This is an example custom node code:
public class CustomProgressNode : ProgressNode
{
public float additionalFields;
// Called when this node research has been started
public override void ResearchStarted()
{
Debug.Log("my custom research has started");
}
// Called when research has been completed
public override void ResearchCompleted()
{
Debug.Log("my custom research is completed");
}
}
Last updated