Best way to manage "Tech Tree" Info?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By Pomelo

What is the best way to manage the info of a common “Tech Tree” (like the one of civilization games) (or even any graph/node tree like the slay the spire ones).

My intuition tells me one approach could be to make a TreeNode class that holds all the info of a node (like past and future neighbors, if it has been reached, etc…), and another approach could be to have a TreeManager script that knows all of this stuff. What seems like a better idea? is there a common approach to solve this?

And then, back to thinking of a Tech Tree, in order to tell the rest of the systems which technologies where reached, I was thinking of just saving that info in a resource, so it is shared between all the systems that need it.

Thanks in advance for any tips or direction!