You can customize the TechTree to suit your own needs but keep in mind some of the tips in this guide are not officially supported by Empyrion developers. That means if you ask them for help they may not assist you. Depending on the files you use and changes you make you will also have to run WinDiff to compare changes to your mods and changes that were released for each build. These changes will work for Single Player, Dedicated Servers and Custom Scenarios. TABS The default TechTree Tab Titles as of Sept 2020 read as Follows Base, Capital Vessel, Small Vessel, Hover Vessel, Misc, Tools, Weapons Adding New Tab This Section is for adding a NEW CUSTOM tab, if you are just moving an item from one existing tab to another existing tab then skip this section and go down to Moving / Adding Skills and Unlock Points To A New or Existing Tab Adding a new Tab or Removing an existing Tab will require you to start a new game or wipe the save game on a dedicated server. For this guide, we will create a new Tech Tree Tab labeled Alien Weapons Also for the purpose of this guide we will assume you are modifying the Default Akua-Omicron scenario,located in the following folders: Dedicated Server: gamefolder\steamapps\common\Empyrion - Dedicated Server\Content\Scenarios\Default Akua-Omicron\Extras Single Player: \Program Files (x86)\Steam\steamapps\common\Empyrion - Galactic Survival\Content\Scenarios\Default Akua-Omicron\Extras Once you have the correct target game folder opened, open a second folder and navigate to \GameFolder\steamapps\common\Empyrion - Dedicated Server\Content\Extras In this folder is a file called Localization.csv make a copy of that file, and paste 2 copies into the scenario Extras folder you are modifying. Name one Example_Localization.csv. This file can be used as a sample reference, label the second file Localization.csv, this is the file we will be editing (Open your editor, most people seem to be using Notepad++ for editing Empyrion files) Open Localization.csv in the editor and delete everything except the first line. The first line holds the Language Translations you will support, if you want to support all languages listed you can use a program like Google Translate to look up the foreign language translation for your new Tab label If you only plan to support English then edit the first line to read Key,English the next line is case sensitive and will contain the Key and the Translation format for the new Tab Titles you are adding, the key must start with ttw Example: ttwalienweapons,Alien Weapons The finished edits should look like this: Key,English ttwalienweapons,Alien Weapons Now save the file Moving / Adding Skills and Unlock Points To A New or Existing Tab Open a new window and search for Config_Example.ecf on my dedicated server it is located here gamefolder\steamapps\common\Empyrion - Dedicated Server\Content\Configuration Copy that file to the scenarios configuration folder, for me and the scenario I wanted to edit on my dedicated server the path was gamefolder\steamapps\common\Empyrion - Dedicated Server\Content\Scenarios\Default Akua-Omicron\Content\Configuration Now make a second copy of that file and name it Config.ecf then delete everything in it. IMPORTANT NOTES: Some scenarios like Project Eden already have their own custom Config file, Project Eden has one called Eden_Config.ecf . When I made custom changes to Project Eden I made my changes in the new config.ecf file I created and not the Eden_Config and they worked just fine, but you may want to talk to custom scenario creators to verify the best way to handle it, or just test it out for yourself and see what works. By default there is no Config.ecf file, the Config_Example.ecf is provided as a sample for your Config.ecf. edits. When the game loads and sees you have a Config.ecf, file it will use those values to overwrite game variables if they are different than the default game. Let's say we want to move rocketlauncher into our new Alien Weapon tab. Open both the Config_Example and Config file in your editor, now search the Config_Example.ecf file for RocketLauncher Around line 9030 you would find the Item Id 2058 carefully copy the entire section for RocketLauncher to your Config.ecf file it would look something like this. { Item Id: 2058, Name: RocketLauncher PickupToToolbar: true StackSize: 1 Category: Weapons/Items Mass: 25, type: float, display: true, formatter: Kilogram Volume: 45, type: float, display: true, formatter: Liter BlastRadius: 3, display: true BlastDamage: 500, display: true Durability: 100, display: false DegradationProb: 1, type: float, display: false { AllowRemote: false ROF: 3.0, type: float, display: true, formatter: ROF Range: 200, display: false NoiseStrength: 140, display: false Recoil: 2.4, display: true CameraShake: 3 AmmoCapacity: 4, display: true AmmoType: SlowRocket, display: true ReloadDelay: 4.5, display: true } { } UnlockCost: 12, display: true UnlockLevel: 10, display: true TechTreeNames: Weapons } The section we are going to edit is at the bottom UnlockCost = how many skill points are needed to unlock the Skill Unlock Level = the level you unlock that skill at TechTreeName is the Tab you wish it to appear under which is what we are going to carefully change. Do NOT add extra spaces or marks or your game will not load. Carefully backspace out the word Weapons and replace it with LOWERCASE alienweapons Example: UnlockCost: 12, display: true UnlockLevel: 10, display: true TechTreeNames: alienweapons Now save the file and reboot your server, if editing this in single player exit your game and restart it. (Changes to the config file did not require me to start a new save game, they just required me to restart the server, and for single player I had to exit the client completely and resume play.) Note: I saved this last explanation for the end so as not to cause confusion. If you are like me, you have noticed that Weapons was capitalized and noticed other blocks also have Capital letters with Spaces, so you are wondering why did I have you enter all lowercase with no space. Example: TechTreeNames: Capital Vessel But I had you enter TechTreeNames: alienweapons This is because of what I mentioned in the beginning of this guide. This is not a "Supported Change" which means you are moving this items into a new CUSTOM tab that doesn't exist in the game. The dev's have hard coded their names into the software so they do not need to enter it lower case with no space, you however have to. If you are just moving things from one existing game tab to another HV to CV then you would use TechTreeNames: Capital Vessel because it is an existing supported name. Other .ecf Files To Be Aware Of Some Blocks or Items are not found in the Config_Example.ecf file. Which again falls into the unsupported category. For example, I wanted to create a Tab called Genetic Engineering, I wanted all growing pots and sprouts to show up in this tab. Growing Pots are found in the Config_Example.ecf and a file called BlockConfig.ecf file but Sprouts are not. Sprouts are only found in BlocksConfig.ecf so I had to copy that file from gamefolder\steamapps\common\Empyrion - Dedicated Server\Content\Configuration To my scenario configuration folder gamefolder\steamapps\common\Empyrion - Dedicated Server\Content\Scenarios\Project Eden v1\Content\Configuration Then I had to make my edits for sprouts in BlocksConfig.ecf Here is what I found in BlocksConfig.ecf for GrowingPotWood, I copied this to my config.ecf file { +Block Id: 1239, Name: GrowingPotWood, Ref: GrowingPot # Material: fertilelow Info: bkiGrowingPotSimple, display: true Texture: "6,70,70,70,70,70" TextureTable: 1 /* 1 = wood table */ BlockColor: "123,73,46" AllowPlacingAt: Base, display: true Mass: 795, type: float, display: true, formatter: Kilogram Volume: 80, type: float, display: true, formatter: Liter MarketPrice: 58.38 UpgradeTo: GrowingPotConcrete, display: true } You will notice there is no unlock or TechTree name section. This is because the default game does not require a tech tree skills to unlock wood growing pots or sprouts. So to make it part of the tech tree I had to add the missing values. Now Wood Growing Pots is under a tab called Genetic Engineering and must be unlocked at level 3 using 2 skill points in order to craft it. { +Block Id: 1239, Name: GrowingPotWood, Ref: GrowingPot # Material: fertilelow Info: bkiGrowingPotSimple, display: true Texture: "6,70,70,70,70,70" TextureTable: 1 /* 1 = wood table */ BlockColor: "123,73,46" AllowPlacingAt: Base, display: true Mass: 795, type: float, display: true, formatter: Kilogram Volume: 80, type: float, display: true, formatter: Liter MarketPrice: 58.38 UpgradeTo: GrowingPotConcrete, display: true UnlockCost: 2, display: true UnlockLevel: 3, display: true TechTreeNames: geneticengineering } Nesting and Placement of Tech Tree Items If you wish to nest or place items in a particular order within the Tech Tree then you need to add the value TechTreeParent: Block Name to your edits Example: TechTreeParent: GrowingPot Here, BluePeppers will be tied to GrowingPot and can be unlocked after growingpot is unloacked Hidden Elements Some changes you make to the BlocksConfig.ecf you may not want displayed in your tech tree. For example, if you are adding sprouts to your tech tree, there are different growth stages that will need to be hidden. To do that you would use the TechTreeNames: Hidden command Example: { Block Id: 1179, Name: BulbShroomYoungStage1, Ref: ElderberryStage1 # Model: Entities/Farming/Misc/BulbShroomYoungStage1Prefab Model: Entities/Farming/Misc/BulbShroomStage1Prefab { Child PlantGrowing Next: BulbShroomYoungStage2 GrowthRate: 15 FertileLevel: 5 OnDeath: PlantDead2 } CropType: Vegetables, display: true CropYield: 1, display: true GrowthTimeInfo: 31, type: int, display: true, formatter: Minutes PickupTarget: BulbShroomYoungStage1 # disassemble TemplateRoot: BulbShroomYoungStage2 # deconstruct - to avoid exploit UnlockCost: 7, display: true UnlockLevel: 20, display: true TechTreeParent: DurianRoot TechTreeNames: geneticengineering } { Block Id: 1180, Name: BulbShroomYoungStage2, Ref: ElderberryStage1 # Model: Entities/Farming/Misc/BulbShroomYoungStage2Prefab Model: Entities/Farming/Misc/BulbShroomStage2Prefab { Child PlantGrowing Next: BulbShroomStage3 GrowthRate: 15 FertileLevel: 5 OnDeath: PlantDead2 } ShowUser: No PickupTarget: BulbShroomYoungStage1 TemplateRoot: BulbShroomYoungStage2 TechTreeNames: Hidden } { Block Id: 1181, Name: BulbShroomStage3, Ref: ElderberryStage1 Model: Entities/Farming/Misc/BulbShroomStage3Prefab Class: CropsGrown AllowedInBlueprint: false, display: true { Child DropOnHarvest Item: Vegetables Count: 1 } { Child CropsGrown OnHarvest: BulbShroomYoungStage3 OnDeath: PlantDead2 } # ShowUser: NoButCSV # reported by HWS PickupTarget: BulbShroomYoungStage1 TemplateRoot: BulbShroomYoungStage2 XpFactor: 0.25 TechTreeNames: Hidden } # Harvested model { Block Id: 1182, Name: BulbShroomYoungStage3, Ref: ElderberryStage1 # Model: Entities/Farming/Misc/BulbShroomYoungStage3Prefab Model: Entities/Farming/Misc/BulbShroomStage3NoFruitPrefab { Child PlantGrowing Next: BulbShroomStage3 GrowthRate: 29 FertileLevel: 5 OnDeath: PlantDead2 } ShowUser: No PickupTarget: BulbShroomYoungStage1 TemplateRoot: BulbShroomYoungStage2 TechTreeNames: Hidden } Block Names Block names are not always intuitive to find in the .ecf files. There are couple of things you can do to help you find the names of items. In game, open your console using the ` Key, it can be found next to your number 1 key on the keyboard. In there type di and press enter. This will open a box at the top of your game window. Now spawn the various objects you are looking for and then point your multitool at them to get their programming name. The name will appear in the di window near the end of the string 2. You can use this reference document which often saves me the hassle of going in game to look things up. https://empyriononline.com/threads/handbook-playfield-reference-sheet-v0-1.12646/
Why oh why did nobody tell me this all earlier? Struggled to figure only a fraction of this brilliant info out the hard way a while back. Brilliant work for sharing it!