Install Asset
Install via Godot
To maintain one source of truth, Godot Asset Library is just a mirror of the old asset library so you can download directly on Godot via the integrated asset library browser
Quick Information
Tree Maps provides useful nodes and functionality to help create graphical maps of tree-like node structures.Designed for creating skill & technology trees.See repository for details and examples.
Tree Maps - Graphs and Skill Trees
Tree Maps provides useful nodes and functionality to help create graphical maps of tree-like node structures.
Perfect for skill trees, technology trees, and or dungeon maps.
Godot Asset Library - Releases
About
One day while trying to make a very large technology tree, I found that I was having trouble creating a system which would allow me quickly expand and add lots of different upgrades and paths. To simplify this process I decided to create Tree Maps in order to adress some of the complications behind creating tech/skill trees.Currently, this remains a very simple addon, however I plan to continue adding features in order to help with creating fully fledged skill and technology trees.
Download & Installation
There are two options to install this addon:- Through the built-in AssetLib tab in Godot.
- Downloading manually, unpack it, and put it in your project's "addons" folder.
Option 1 - Download through Godot's AssetLib tab
Note: The addon may still be pending in the Asset Library.- Simply open your Godot project, select the "AssetLib" tab, and search "TreeMap"
- Select it and download, then install. Afterwards simply enable it in ProjectSettings's Plugins tab.
Option 2 - Download manually
- Go to repository and download a release (tree-maps-addon.zip)
- Unpack the zip (make sure you don't duplicate the root folder)
- Simply move the addon (tree-maps) to the addons folder of your project's root (create one if your missing it).
Usage
This addon adds two new custom nodes which both inherit from Node2D: TreeMap and TreeMapNode
Starting in 2D view, add a new TreeMap to your scene, positioned at the origin.
Note: Positioning the
TreeMapnode anywhere else will effect drawing ofTreeMapNodes. Will be fixed later.
TreeMap comes with several custom properties in the Inspector.
By default, these properties will be passed down to any children TreeMapNodes.
These properties will effect how TreeMapNode childs will be displayed and/or interact.
From here, you can now add TreeMapNode as a child of the TreeMap, see Main Tools
for the "Add Nodes" tool.
Note: You can add nodes manually, however you will have to refresh the Scene Tree (Reload scene, or Open and Close the scene).
Note: It is highly recommended to have
TreeMapNodebe children ofTreeMap. By continueing withoutTreeMap, there WILL be errors.
Editing any properties within the "Overrides" section will result in that TreeMapNode having its own
property seperate from its parent TreeMap. To reset it to its default inherited property, simply
reset the property normally.
Upon selecting a TreeMap or TreeMapNode, you can see in the tool bar at the top will change,
showing some new tool buttons. These will allow you to edit your TreeMapNode(s)
Main Tools
Tip: Right click to disable the active main tool.Note: When activating a tool, the currently selected node is your main node, from which tools will act from. Selecting another node while your tool is active will make that the target node. To select a different node to edit from, simply deactivate the tool, then select your new node and reactivate the tool.
- Edit Connections: Click to create connection. If there is a existing connection, remove it instead. If there is a existing connection poiting towards the selected node, swap pointing direction.
- Add Nodes - Creates a new
TreeMapNodeat mouse click. - Remove Nodes - Removes the selected node.
Modifiers
These tools change the way Main Tools behave.- Chaining - selects the targeted node after using a tool (if applicable).
- Lock/Unlock (WIP) - disables editing of the selecetd node(s).
Miscellaneous
- Reset (WIP) - resets the selected node's properties to the default inherited values.
- Info (WIP) - Shows helpful info
Examples
Demo video
https://github.com/user-attachments/assets/fbfc2732-9639-446d-b620-4464e99fa997
What's Next?
Currently there is a somewhat limited amount of customization options available for TreeMap and TreeMapNode.I still plan to continue adding some more customization features along with more helpful tools. I already have several in mind.
However, if you find that there is a missing feature you want, this is where you can extend the TreeMapNode class and add your own code!
If you think it could be a core feature, feel free to create a issue in the repository.
Planned Features
TreeMap- Min/Max line length - prevent node placement or movement within min/max distance of another node.
- NodeInstance - use your own extended node for the "Add Nodes" tool.
Potential Features
These features are still being decided on. If enough people really want this, I will consider adding.- Bezier curves, and Arcs
Tree Maps provides useful nodes and functionality to help create graphical maps of tree-like node structures.
Designed for creating skill & technology trees.
See repository for details and examples.
Reviews
Quick Information
Tree Maps provides useful nodes and functionality to help create graphical maps of tree-like node structures.Designed for creating skill & technology trees.See repository for details and examples.