NoMansSky:UnlockableItemTrees
From Step Mods | Change The Game
Introduction
Crafting is a key point in No Man's Sky and a lot of blueprints can be unlocked via technology trees. All the tech trees, either from Nexus, Freighter or Blueprint Analysis Module are declared in: METADATA\REALITY\TABLES\UNLOCKABLEITEMTREES.MBIN
The whole file is composed of 2 parts :
- Trees themselves, which represents 95% of the file, listing each item in a nested way
- Cost types, describing currencies used in the trees
Trees Definition
The file structure is pretty simple as it mimics the tech tree it describes.
{{#hsimg:GALLERYgalleryID|800|Wooden parts tree|
}}Wooden parts tree
}}Wooden parts tree
Here is a small extract of the first branch of the wooden parts tree above :
<Property name="BasicBaseParts" value="GcUnlockableItemTrees.xml">
<Property name="Title" value="UI_PURCHASABLE_BASICPARTS_TREE" /> Tree Name. This name is referenced in each language file for translation
<Property name="Trees">
<Property value="GcUnlockableItemTree.xml">
<Property name="Title" value="UI_BASIC_WOOD_SUB" /> Branch Name. This name is referenced in each language file for translation
<Property name="CostTypeID" value="SALVAGE" /> Currency used, as defined at the end of the file.
<Property name="Root" value="GcUnlockableItemTreeNode.xml">
<Property name="Unlockable" value="W_WALL" /> Item Name. This name is referenced in each language file for translation
<Property name="Children">
<Property value="GcUnlockableItemTreeNode.xml">
<Property name="Unlockable" value="W_FLOOR" /> Item Name. This name is referenced in each language file for translation
<Property name="Children">
<Property value="GcUnlockableItemTreeNode.xml">
<Property name="Unlockable" value="W_GFLOOR" />
<Property name="Children" />
</Property>
<Property value="GcUnlockableItemTreeNode.xml">
<Property name="Unlockable" value="W_RAMP" />
<Property name="Children">
<Property value="GcUnlockableItemTreeNode.xml">
<Property name="Unlockable" value="W_RAMP_H" />
<Property name="Children" />
</Property>
</Property>
</Property>
As you can see, each item has children, as in the trees themselves, and you can't unlock a child if you haven't unlocked its parent.
Cost types
Each tree items requires a currency to be unlocked.
All of them are listed at the end of the file.
Here is one of the currencies :
<Property value="GcUnlockableTreeCostType.xml">
<Property name="CostTypeID" value="SALVAGE" /> Currency. This is the name used in the trees to define the required currency
<Property name="TypeOfCost" value="Product" />
<Property name="CurrencyType" value="GcCurrency.xml">
<Property name="Currency" value="Units" />
</Property>
<Property name="TypeID" value="BP_SALVAGE" /> Currency Name. This name is referenced in each language file for translation
<Property name="CantAffortString" value="TRADE_BUY_BUILDING_NO_ITEMS" /> Insufficient currency message. This is referenced in each language file for translation
</Property>

