Modding Guide

This guide will show you how to create and publish your very own mod for Hardware Tycoon using the Mod Tool.

## Creating a mod

To create a brand new mod, click 'New Modification' in the main menu, which will take you to the creation screen. There, input the **name** of your mod, your nick as the **author** of the mod, the **version** of the mod, and select the target Hardware Tycoon version (you should leave it at the default, newest one).

The names you pick can be anything as long as they fit within their respective character limits (for mod version that's 10 characters) and don't contain any squiggly ({}) or square ([]) brackets.

Lastly, press 'Done' to finally start adding packages.

## Creating a package

Right now it's only possible to add packages and research to unlock them. In order to do so, click the + button under 'Packages'.

The order of your actions here does not matter and exists only to make the process easier to follow.

Firstly, choose the **type** of package. You can select any type that's in the game or make a custom one. If you select 'Custom', a textbox will appear underneath. Fill it with the name of your package type. You can't input numbers nor go over 14 characters. Secondly, set the number of **pins** your package will have (anywhere from 2 to 9999), then select an **image** of your liking which you can preview to the left. This is how a CPU using this package will look in the game. There is no possibility to create your own icons, you can only use the ones available in game.

The next row requires you to put in the **maximum clock speed** your package will support. You should ensure it is close to the max clock speed available in the year you want your package to be available (See R&D to see what the max clock speeds are and CPU to take a look at vanilla packages). You input your desired clock rate in kHz, so if you want it to be let's say 21 MHz you have to multiply that by 1000 and type in 21000. Next, select how many **cores** your package can handle. The general rule is that DIPs can only go Single-core, Experimental Dual-core can be put on low-mid tier PLCCs, Basic Dual-core and worse is available for all PGAs and larger PLCCs (starting with PLCC116) and only the larger PGAs can handle the real Dual-core (PGA112+). Note that if you select Dual-core you will still be able to use other cores, Dual-core is simply the highest your package will be able to support.

Moving on to **cost**, **unit cost**, and **time**. This part is fairly straightforward, the stats for vanilla packages are available here. I would recommend looking at the tables and choosing the costs in relation to them. Although, of course you may put in any non-negative value.

Lastly, you have to decide on the 3 main stats affecting how good a CPU using this package is: **performance**, **stability**, and **build**. I'd once again recommend to take a look at other packages and try to fit in with them.

Let's skip over the 'Researched' checkbox and leave it checked. We'll go over it in the next part.

When you're done choosing the parameters for your package click the big checkmark button in bottom-right to add it to your mod.

## Creating a package with research

If you wish for your package not to be unlocked by default, you can make it researchable by unchecking the 'Researched' checkbox. This will add a technology in R&D that, once researched, unlocks your package.

All customizable variables are explained below:

* Cost - base research cost paid at the beginning of the process.

* Research Points - research points required to research the technology.

* Required Exp - the amount of CPU experience required to unlock the technology (1 level is 100 exp).

* Unlock year - the earliest year the technology will be available (assuming the player has the necessary amount of exp).

* X Position - the position of the research within the R&D window. Incrementing this number by 1 will move the technology one width of the box it's contained in (+17px of margin) to the right.

## Exporting and publishing

After you're done with your mod all you have to do is click save and choose your desired directory and file name. You will receive a small .htmod file, which you can share with others. The best places to do that are: the official Hardware Tycoon website, the discussion board on itch.io, or the modding channel on our Discord server.

## Installation

Please note that mods are only supported in **desktop releases** of the game.

To play with your newly created mod, simply drag it into a running Hardware Tycoon window. Refer to How to add mods for details.

## Updating your mod

If you want to create an updated version of your mod, just click 'Load Modification' in the main menu and select your mod's .htmod file, then go into mod settings (3-line menu button in the bottom-right corner) and change the version to something else. Now you can add or edit your packages.

If you try to load your mod in Hardware Tycoon it will ask if you want to load a different version of it, so you won't have 2 overlapping modifications with the same name from the same author.

## Further help

If you ran into issues or simply have a question the best place to ask is the modding channel on the Discord server.

## Tips and miscellaneous

* Don't forget that you can edit your packages and research after creating them by clicking the pencil next to them.
* There's a limit to the number of packages you can add, it is currently at 100.
* It's possible to create a package that has minor issues (e.g. its research is overlapping another research) by right clicking the checkmark add button.