// Management · RimWorld Mod
Yet Another Research Tree (YART)
Yet Another Research Tree (YART) Yet Another Research Tree replaces the vanilla research tree with a cleaner, far more readable version.
Yet Another Research Tree (YART)
Yet Another Research Tree replaces the vanilla research tree with a cleaner, far more readable version. I'm a heavy modpack user running 450+ mods. The problem was that neither the vanilla research tree nor existing research tree mods made it easy to find the one research I actually needed among hundreds of entries. So I started building this mod myself. It has been refined over a long time to let you quickly find the research you want, even in a tangle of hundreds of projects.Features
- A more compact, readable research tree — node placement is cleaned up so you can grasp the flow at a glance.
- Per-tab or unified view — browse research split by tab like vanilla, or lay out every research project on a single screen.
- Research queue — line up your next projects in advance and keep researching the moment one finishes, with no downtime.
- Parallel research channels — research from mods like the Anomaly DLC and Vanilla Gravship Expanded can be progressed at the same time as your regular research.
- Optimized rendering — zoom all the way out and view hundreds of research nodes at once with zero lag.
- Optimized search engine — search by mod name, item, plant, research name, and more, with instant response even in a heavy modpack.
- Customizable colors & colorblind support
- Built for heavy modpacks — developed and tested in a heavily modded environment, just like the one I play with.
Compatibility
- Anomaly DLC / Vanilla Gravship Expanded — Supported (provides parallel research channels)
- World Tech Level — Supported (research beyond your world tech level is automatically hidden from the tree)
- Semi Random Research — Supported
- Multiplayer - Supported (provides MP adaptor)
- Other research tree mods — Not supported (use only one research tree mod)
- Compatible with existing save files.
Under the Hood
So how is the tree laid out?
A research tree is, at its core, a directed acyclic graph (DAG). Drawing a directed graph cleanly is a problem people have studied for decades, and it's genuinely hard (NP-hard). YART implements the well-established Sugiyama framework, adapted specifically for RimWorld's research tree. Here's the gist:- Split into columns by era. Each research project is first grouped into an "era band" in the order Neolithic → Medieval → Industrial → Spacer…, and within each band, columns are assigned left to right by following prerequisite relationships.
- Keep it from getting too tall. YART adaptively computes a "height budget" for each column based on the overall size of the graph, pushing research out of overcrowded columns into neighboring ones to spread everything into a pleasant aspect ratio.
- Minimize crossing lines. The number of arrow crossings swings wildly depending on how nodes are ordered top-to-bottom within a column. YART generates several candidate layouts from different starting points and keeps the one with the fewest crossings, then refines it with adjacent-node swapping (wmedian, transpose) — and for small clusters, even brute-forces every permutation (subset DP) — to cut down on tangled lines as much as possible.
- Bundle lines into single channels. Arrows fanning out from the same research are merged so they flow through one shared channel, with a final post-processing pass that smooths and straightens these bundles.