Production Line

Production Line

25 ratings
Steam Workshop & modding Guide for Production Line
By cliffski
A guide to how steam workshop integration works in the game, and how to create mods, uploads them, update them and subscribe/download them, and also how to enable and disable mods temporarily.
   
Award
Favorite
Favorited
Unfavorite
Production Line and modding / steam workshop
Starting with build 1.52, Production Line will support mods, both downloaded or created with Steam Workshop, and also created by DRM-free versions outside of steam. In both cases, the file formats and locations are identical, steam workshop just creates a convenient place to browse mods and download them into the game.

Modding is accessed from the games main menu, with the new 'mod' button on the left hand side of the screen. This opens up a new window which we call the mod control panel which has four different tabs. If steam is not running on your PC, you will only see the first tab as selectable.


Everything relating to mods is accessible through this control panel. If you are just using mods uploaded by other players you should never need to edit or manipulate any files on your hard drive, as you can install, uninstall and toggle enabled/disabled any mods you like through this interface

Using mods made by other players
The first tab of the mod control panel is for players who just want to use mods rather than create them. This is a list of all the currently installed mods (on the left hand side of the window) and a panel on the right hand side that shows the currently selected mod. When a mod is selected, you can disable/enable that mod (which effectively decides whether or not the mod is visible to the game) or completely uninstall it (which removes the files.

Note that there is effectively no difference between disabling and uninstalling a mod, other than getting the hard drive space back. A disabled mod is never loaded by the game.

Eventually the button at the bottom left of this tab will link to a webpage with this same information in it.

If you want to use mods outside of steam workshop, you will need to download those mod folders and their associated config files to this location:
\my documents\my games\production line\mods.
The game looks for subfolders in that location and builds up the mod list from there.

If you prefer to use steam workshop, then you need to launch steam workshop, find the mods you are interested in and click on their subscribe button. To get those mods to then download into the game, you can either quit and restart production line OR select the steam workshop tab and hit the 'refresh content' button.

Important note: If you want to completely remove a mod, and select uninstall, this does NOT unsubscribe you from that mod in the steam workshop. The next time the game starts it WILL download the mod again, unless you go into the steam workshop and 'unsubscribe' from that mod.
Submitting a new mod to the workshop
Creating a new mod for steam workshop involves two stages. Firstly you have to actually create all the files required for the mod to work and do whatever it is you want done (see later sections of this guide for more details on this), and secondly you need to submit that mod to the workshop so it can be seen by other players.
The second task is carried out in the mod control panel on the 'submit workshop mod' tab.


To create a new workshop mod, fill out this form, with the username you wish to be known by as the mod creator, a title for your mod, and a description of what new features or changes your mod brings to the game.

There are then two items you need to select. Firstly you need to select the path to your mod. This MUST be a folder inside the following location:

\my documents\my games\productionline\mods

As that is the only location you can select from. All of your mods files must be contained within that folder.

You then need to select an image that will be used in steam workshop to represent your mod when players are browsing the workshop looking for new content. This image must be located here:

\my documents\my games\productionline\mods

And it must be in jpg format. The file browser will only show jpgs in that folder. Once everything is filled out, you can submit the mod to the steam workshop, which will take some time. Once the process is complete, you will be able to see the mod listed in the workshop. Note that steam can 'lag' behind the list of submitted workshop mods, so wait at least five minutes before looking for the new content.
Updating an existing mod
As well as submitting entirely new mods, the mod control panel allows you to edit mods that you, as a steam user, have previously submitted to the workshop. To do this, you need to select the final tab in the mod control panel 'update existing mod':


The left hand side of this window lists all of the mods that you have previously uploaded to the workshop. Selecting them will bring up details on the right hand side. The form then needs to be filled in again with the new data you want. Anything can be changed here, the image, the description, the title... And then you click submit update to publish your changes to the workshop. Again...wait about five minutes to check if your changes have been reflected in the steam workshop.
How to mod a new car feature
Modding a new feature for a car into the game only requires creating a few text files and placing them in the right location.
To see how feature data is loaded by the game open up the following file in Microsoft Excel or a similar spreadsheet program that can open csv files:

\production line\data\simulation\features\features.,csv.

You should see a line for each feature in the game, and titled columns that contain all the data about that car feature. Here is an explanation of each column:

token:
This has to be '#' if you want the line to be loaded. lines without this are ignored
name:
The internal name used by the game, save games etc. This will be referenced in the translation files to lookup the user-friendly 'real' name for the feature that the player sees.
marketvalue:
This is the base value in dollars that is considered a fair price for that feature. If a car has this feature, its fair price will be raised by this amount, although that may be adjusted in the game depending on the level of competition in the market.
does-ai_research:
set this to 1 if you want the AI competitors to try to research this feature, or zero if you do not. This should almost always be set to 1, apart from for features which are assumed to already exist, like visual_inspection and basic_car.
max_cheap:
The extent to which cheap cars will ever (after exhaustive research) expect to have this feature. Valid values are UNIVERSAL, COMMON, RARE and VERY_RARE. For extremely high-end features you may wish to set this to be RARE or VERY_RARE for cheaper cars that could never reasonably be expected to offer this feature.
max_mid:
see above
max_expensive:
see above
max_luxury:
see above
synonyms:
A list of the names of features which are functional equivalents of this feature. A good example is sunroof and panoramic sunroof. This is required to prevent anomalies where, for example 'sunroof' is an expected technology for a car, and a car would be penalized for having a panoramic sunroof, when effectively it is the same thing. Listing similar features here prevents this from happening.
restrictions:
A list of the car body styles that can have this feature. If the list is empty, then the feature can be fitted to any car. useful for things like bullbars or panoramic sunroofs.
requirements:
If this feature is an upgrade or add-on to another feature, that feature should be listed here. This allows you to price 'premium' versions of a feature at just the price difference, rather than the whole price, and prevents an exploit where the car could otherwise have two radios, or two aircon systems etc.

Simply create a new csv file which contains the values for your new feature, and then save it to a location like this:
\my documents\my games\production line\mods\MYMODNAME\data\simulation\features\features.csv

Thats the first step. The second step is to add some user-readable text in whatever languages you want your mod to support. To do this we need to create a second file here:

\my documents\my games\production line\mods\MYMODNAME\data\translations\EN\features.ini

(for the English language...you can create multiple entries to support all languages)

features.ini will require the following contents:

[config]
FEATURE_HUD_GUINAME = Heads-up display

(where the name of the feature in the csv was set to feature_hud).


How to mod a new research entry
Modding a new research item into the game only requires creating a few text files and placing them in the right location.
To see how feature data is loaded by the game open up the following file in Microsoft Excel or a similar spreadsheet program that can open csv files:

\production line\data\simulation\research\research.,csv.

You should see a line for each researchable item in the game, and titled columns that contain all the data about that car feature. Here is an explanation of each column:

token:
This has to be '#' if you want the line to be loaded. lines without this are ignored
name:
The internal name for this research item. it will be used by other research items, and to find the translated name and description for this research, but is never shown to the player.
parent:
The name of the research item that is above (ie: requires researching before this item) this item in the research tree hierarchy. This can be any item that already exists, or it can be blank, in which case this item starts an entirely new row in the research tree.
icon:
This is the icon used to represent the item in the research tree. This is usually an entry from a 'texture atlas' that contains a bunch of icons, but it can be an image located anywhere inside the folder for this mod, or an existing icon used by the game.
untitled:
The number of research points that are required to research this item
type:
Theis determines which of the three research tree tabs this item appears in and can be PROCESS, TECHNOLOGY or DESIGN.
unlocks:
A list, separated by commas, of everything that is unlocked when this item is fully researched. This can be the names of tasks (effectively production slots), upgrades for slots, or even car body styles.

Simply create a new csv file which contains the values for your new feature, and then save it to a location like this:
\my documents\my games\production line\mods\MYMODNAME\data\simulation\research\research.csv

Thats the first step. The second step is to add some user-readable text in whatever languages you want your mod to support. To do this we need to create a second file here:

\my documents\my games\production line\mods\MYMODNAME\data\translations\EN\research.ini

(for the English language...you can create multiple entries to support all languages)

features.ini will require the following contents:

[config]
RESEARCH_HUD_GUINAME = Heads-up display

(where the name of the new item in the csv was set to hud).
You can also optionally add an entry like this:

RESEARCH_HUD_DESCRIPTION = "A display on the windscreen that shows information to the driver"

Which will then provide more information for that item in the research screen.
How to mod a new production slot
A slot is actually called a 'task' internally in the game.

To see how task data is loaded by the game open up the following file in Microsoft Excel or a similar spreadsheet program that can open csv files:

\production line\data\simulation\tasks\tasks.,csv.

You should see a line for each production task in the game, and titled columns that contain all the data about that car feature. Here is an explanation of each column:

token:
This has to be '#' if you want the line to be loaded. lines without this are ignored.
name:
The name used internally by the game, this is never displayed to the player.
process time:
How long it takes for a single production run at a slot to take when carrying out this task. This is milliseconds in normal game time, so a process time of 2,000 is two seconds. To get this in 'simulation' time, note that an hour in game time is 120,000 milliseconds. so 2,000 is one minute.
icon:
The name used internally by the game, this is never displayed to the player.
icon:
This is the icon used to represent the item in the research tree. This is usually an entry from a 'texture atlas' that contains a bunch of icons, but it can be an image located anywhere inside the folder for this mod, or an existing icon used by the game.
construction cost:
How much it costs, in dollars to build a slot that carries out this task.
power demand:
How much power this task draws when it is running.
texture:
The 'default' texture used as the floor for this task. This is pretty much ignored.
color:
What color is used for the 'zoomed-out' GUI that color codes slots in the game. We strongly recomend copying the existing color scheme, but in any case the format is red,green.blue where each number is 0 to 255.
welding:
Set to zero if any robots in this slot will not be welding, otherwise set to 1. This determines the robot style and whether sparks are drawn in the animations.


Simply create a new csv file which contains the values for your new feature, and then save it to a location like this:
\my documents\my games\production line\mods\MYMODNAME\data\simulation\tasks\tasks.csv

Thats the first step. The second step is to add some user-readable text in whatever languages you want your mod to support. To do this we need to create a second file here:

\my documents\my games\production line\mods\MYMODNAME\data\translations\EN\productiontasks.ini

(for the English language...you can create multiple entries to support all languages)

productiontasks.ini will require the following contents:

[config]
TASK_HUD_GUINAME = Heads-up display

(where the name of the new item in the csv was set to hud).

In addition to the CSV and the translation data,m each production task also requires its own dedicated ini file. This file has to be located in the same folder as the new csv file. Here is the format:

The [task] section
This contains the following entries:
tilelable
ignored
SpriteNE
The floor texture used for the main tile when placed facing NE
SpriteSE
The floor texture used for the main tile when placed facing SE
SpriteSW
The floor texture used for the main tile when placed facing SW
SpriteNW
The floor texture used for the main tile when placed facing NW
exitdirectionoffsets
A comma-separated list of the directions from the center tile that contain exits from that tile
inputdirectionoffsets
A comma-separated list of the directions from the center tile that contain entrances to that tile
guilevel
How many levels deep the task is nested in the expandable 'slot picker' window in the game. It should be one number higher than the guilevel of its parent, or zero if it has no parent
parent
The name of any production task that is the immediate parent of this item, for use in nesting those items within the 'slot-picker' window in the game
guiindex
A number used to arrange the slots in order (from top to bottom) on the slot picker, when arranging items that have the same parent.
name
The name, used internally, for this task. This is used everywhere, including research entries that unlock this task by name, other tasks that have this as their parent, and the csv file that contains other data, as well as the translation files.
locked
Set to zero if you want this task to be placeable as a slot at the very start of the game, or 1 if it is to be unlocked using research.

The [components] section
This section is almost always empty and is entirely optional. It is used to control when extra visual elements are added to the model of the car. For example, with front bumper, the entry is:
0 = frontbumper
To indicate that once this task is completed a 'front bumper' component is added to the car. This is purely visual, and the player cannot see a list of components or their names at any point, its purely used to allow the car to be seen to be visually assembled stage by stage. Multiple entries should be on separate lines with increasing indexes (0,1,2, etc)


The [resources] section
A list of resources that will be consumed by carrying out this task. This can be zero and is entirely optional. For example, the entry for front bumper is:
front bumper = 1
To show that a single front bumper resource is consumed. Multiple entries should be on separate lines with increasing indexes (0,1,2, etc)

The [subtasksrequired] section
Optional, and can be blank. This lists the tasks that must have been applied to a vehicle before it can process through this new slot and have this task applied. For example:
0 = task_fit_boot
Multiple entries should be on separate lines with increasing indexes (0,1,2, etc)

The [subtasksapplied] section
This will almost always have a single entry that matches the name of the current task like this:
0 = task_fit_frontbumper
However, you can have multiple entries if this is a 'composite' task, that carries out multiple tasks in one go, in which case just list those tasks here. In that case, no resources or components should be fitted, and the csv file will not give process times or construction costs, as these are all calculated from the sub tasks.

The [upgrades] section
Optional. This section lists all of the upgrades that can be applied to this slot. It is used primarily by the UI that shows the window for slot details, to list upgrades and allow the player to select them. Multiple entries should be on separate lines with increasing indexes (0,1,2, etc)

The [tiles] sections...
These sections are very complex. There will always be one, and can be many, with offsets from the base tile indicating their relative position. Although these section can be edited in text, they are primarily set by the task editor GUI used for designing the appearance of slots. Basically these sections each define a tile used by the slot, its position, its type (conveyor, stockpile, export etc), and a list of all of the 'props (graphical components) that are placed down on those tiles.
How to mod new facilities
Facilities are easier to mod that production slotsd because there is no spreadsheet, just ini fil;es. Each facility needs an ini file placed here:

\my documents\my games\productionline\mods\YOUR MOD NAME\data\simulation\facilities

Each ini file contains 3 different sections, task, sounds and tiles. the tiles sections work exactly like the same ones in the production task modding, and are best done using the task editor.

The [Task] Section
requiredemployees
ignored
processtime
How long it takes for a single process run at a facility to take. This is milliseconds in normal game time, so a process time of 2,000 is two seconds. To get this in 'simulation' time, note that an hour in game time is 120,000 milliseconds. so 2,000 is one minute.
SpriteNE
The floor texture used for the main tile when placed facing NE
SpriteSE
The floor texture used for the main tile when placed facing SE
SpriteSW
The floor texture used for the main tile when placed facing SW
SpriteNW
The floor texture used for the main tile when placed facing NW
exitdirectionoffsets
A comma-separated list of the directions from the center tile that contain exits from that tile
inputdirectionoffsets
A comma-separated list of the directions from the center tile that contain entrances to that tile
guilevel
How many levels deep the task is nested in the expandable 'slot picker' window in the game. It should be one number higher than the guilevel of its parent, or zero if it has no parent
parent
The name of any facility that is the immediate parent of this item, for use in nesting those items within the 'slot-picker' window in the game
guiindex
A number used to arrange the slots in order (from top to bottom) on the slot picker, when arranging items that have the same parent.
name
The name, used internally, for this facility. This is used everywhere, including research entries that unlock this facility by name, other facilities that have this as their parent, and the translation files.
locked
Set to zero if you want this faciilityto be placeable as a slot at the very start of the game, or 1 if it is to be unlocked using research.
constructioncost
How much it costs, in dollars to build this facility
type
ignored
power_demand
How much power this task draws when it is running.
ideas_per_hour
For marketing facilities only
placement_sound
sound effect to be played when the player places down this facility
class
Determines some special behaviors. Can be SIM_Design,SIM_PowerplantSlot, SIM_Research, SIM_SupplyStockpile or SIM_MarketingFacility,
office
optional it set to 1, the facility can only be placed in one of the special office zones.
research_points_earned
For research facilities only
power_supply
For power station facilities only
numslots
For supply stockpile facilities only


The [Sounds] Section
Contains an entry for a sound effect associated with the facility. This will be played when the facility is clicked on or placed down.
How to mod new resources & components
Resources are generally added to the game just with a new graphic ( a dds or png placed anywhere inside your mod folder), an entry in a new csv file, and a translated name in a translation file.

The CSV file
A new csv will need creating here:
\my documents\my games\production line\mods\YOUR MOD NAME\data\simulation\resources\resources.csv
Here are the explanations for each of the columns:

token
This has to be '#' if you want the line to be loaded. lines without this are ignored.
name
The internal name of the resource. never displayed to the player
icon
An image used to represent the icon in the user interface, not in the game world. This can be an existing icon or it can be a new png or dds placed inside your mod folder.
delivery
The image used to display the item in the game world This can be an existing icon or it can be a new png or dds placed inside your mod folder.
cost
The base cost, assuming no market forces, of one of these items in dollars.
size
The physical size of the item in the game world. This should almost always be 128.
type
Set to either RES_COMP or RES_RAW. This is purely used to show the breakdown of raw materials and components in some financial charts.
parent
If this item should be nested under another in the GUI when selecting resources, enter the parent name here.
features
unused.


The Translation
To add a user-readable name for your new resource you need to create a file here:
\my documents\my games\production line\mods\YOUR MOD NAME\data\translations\EN\resources.ini
(where EN is for English, other folders can contain translations to other languages)
The entry looks like this:

[config]
PAINT_COLOUR_GUINAME = Colored paint

Where in this case, the new resources is called paint_colour.

The Combos
In some cases, a new resource is a combination of two existing resources. For example a heated wing mirror and a folding wing mirror becomes a 'heated and folding wing mirror'. To make this work, you need a new file located in

\my documents\my games\production line\mods\YOUR MOD NAME\data\simulation\resources\resource_combos.txt

An entry looks like this:

heated and folding wing mirror = heated wing mirror,folding wing mirror
directional_led_light = directional_light,led_light
directional_xenon_light = directional_light,xenon_light
How to mod new marketing campaign types
Each new campaign type represents a strip that appears in the marketing window which can create a new campaign:


Each type is a file you would place here:

\my documents\my games\production line\mods\MY MOD\data\simulation\marketing

They are ini files with a single section called [config]. The entries are:

Name
This is used internally, never displayed
Type
Currently this must be AWARENESS
MediaType
Set to either MOVIES PRINT or TV. This determines which research was required to unlock this type
FinancialCost
How many dollars a single campaign costs
IdeasCost
How many marketing ideas are used up in a single campaign of this type
Duration
How many hours this campaign runs for
Effect
The basic strength of this campaign, which actually will be subject to a random fluctuation each time a campaign of this type is run
Icon
A graphic used to display next to this campaign type in the UI. You can re-use an existing one or use any dds or png file that you put inside the mods folder./td][/tr][/table]

How to mod entirely new vehicle types
This is pretty complex in graphical terms, but very simple in terms of simulation data.

Simulation Data

In game terms, each vehicle is a 'bodystyle'. The basic ones are found here:

\data\simulation\bodystyles

and to add new ones you would add an entry here:

\my documents\my games\production line\mods\YOURMOD\data\simulation\bodystyles

Here is a breakdown of the data inside those ini files:

[config Section]
Details coming soon

[marketsize section]
Details coming soon

Graphics
Details coming soon

How to mod new researchable items
Like many other items in the game, researchable items are listed in a spreadsheet. If you want to see all the current data in the game you will find the spreadsheet here:
\production line\data\simulation\research\research.csv.
Opening the data in excel looks like this:


To add new researchable items, you need to create a new spreadsheet like this in an identical folder in your mod. For example...
\mods\my mod name\data\simulation\research\reesearch.csv

As usual these are 'csv' files which you can create in any spreadsheet program (like Excel) or even google sheets or notepad. The columns in the spreadsheet are used as follows:

token
This has a '#' in it if the line contains a researchable item. otherwise this line is ignored. you can use this to arrange comments or gaps in your spreadsheet to make it easier to read.

name
This is the name of the research item, which we tend to use as research_itemname. This name will be used to lookup the translated text for the item (see below). its also used by any other items in the tech tree that might want to be placed on the tech tree so that they are researched by this item

parent
If this is empty, then this is a 'top level' item that can be researched at the start of the game. Otherwise, its the 'name' (see above) of the item which is this objects 'parent' on the tech tree (ie: the parent needs to be researched first, and this item will be placed to the right of the parent). This can be another item on this spreadsheet, or in the base games spreadsheet. (technically it can be an item in another mod...but thats not advised as it causes unknown dependencies).

icon
The image shown on the tech tree next to the researchable items name. Can be anywhere inside your mods base folder, or any item inside the base games bitmaps folder.

cost (untitled)
This next column is the cost in research points to unlock this item

type
This is either PROCESS DESIGN or TECHNOLOGY and determines which tech tree this item gets shown on. DESIGN items require design points to unlock.

unlocks
This is a comma-separated list of items that get unlocked when this research is completed, using the names of those items. They can be tasks, upgrades, resources, body-styles or any combination of those. This can also be empty for a 'category' item that simply grants access to child-items to research (such as 'driver assistance')

pre-requisites(untitled)
This is a special column that has requirements that must be met (other than researched items) before you can research this item. Currently only CARS_SOLD and a number is supported.

ignore auto
Usually empty but can be '1'. If set to 1, then the code that automatically restricts research to requiring any dependent techs for upgraded items to be researched first...is bypassed. For example if research allows you to unlock upgrade 'A' and upgrade A is only at task B, and task B requires research C.... then you need to do research C before even attempting to research A. This is calculated automatically. Setting this to 1 bypasses that. In practice...its used so that you can do the research to produce servos and sensors and steel sheets before you have to research all the tasks that use those items. Leave this blank unless you really know what you are doing :D

requirements
This lists the names of any additional pre-requisites (researchable items) that need to be done before this research is selectable. Its used for stuff like requiring you to r search electric powertrains before large battery packs, even though they are in different parts of the tech tree. it can also be sued to ensure you research a base tech to be fitted to a car before any tech that is used to manufacture that tech. (like with high performance engines and motors, sun roofs etc...)


Thats it! Filling out that spreadsheet will mean your researchable item will now show up on the tech tree. The only extra thing to do is to add in translated text. This is found in the following text file:

\my documents\my games\productionline\mods\my mod name\data\translations\EN\research.ini

Like this:

[config]
RESEARCH_SUPER_STOCKPILES_GUINAME = Super Stockpiles

Where the LHS item is the UPPERCASE version of the name with _GUINAME attached, then the text in whatever language you have selected.
If you want to add a 'description' that shows up as a tooltip on your research item you can add this:

RESEARCH_SUPER_STOCKPILES_DESCRIPTION = Super Stockpiles are super!

Note that this is only if you want some extra flavour text. The text that indicates what is unlocked, where and how etc... is automatically generated for most researchable items.

Thats all there is to it to add new research to the game. Note that research achieves nothing on its own, it only allows the unlocking of new items such as upgrades, features, tasks, resources etc...



How to mod new slot upgrades
Slot upgrades are basically text files. You can see the existing default upgrades for the game in this folder:

\production line\data\simulation\upgrades

Each upgrade is a 'txt' file you can open with any text editor and looks like this:


Adding an upgrade just means dropping a new text file in the equivalent folder in your mod, such as:

\my documents\my games\production line\mods\mod name\data\simulation\upgrades

The file itself can have any (unique) name, and the content of the file should be as follows:

[config]
name = high_tech_wheels
texture = gui_cash.dds
cost = 2200


The name should be the name referenced elsewhere in the game, such as the research screen etc. Its NOT the name shown on screen (see below).
The texture is ignored...skip it :D
The cost is the cost in dollars to apply this upgrade to a single slot. Next comes...

[effect0]
value = 50
type = SU_ABS_SPEED

(optional) You can have multiple entries (with the number at the end of effect going up each time). They are changes that get applied to the slot once the upgrade is activated. There is a value and a type. the valid types are:
SU_SPEED,SU_POWERUSE,SU_QUALITY,SU_PROP,SU_POWERPROD,SU_ABS_SPEED,SU_ABS_POWER,SU_DEFECT_DETECT,SU_DEFECT_FIX,SU_BREAKDOWN_CHANCE
and the values are different for each type;. see existing files for examples.

[feature0]
name = feature_high_tech_wheels


(optional) You can have multiple entries like this (increment the number) and they show what feature gets added to a car which passes through the slot with this upgrade

[components]
0 = high_tech_wheels,1
1 = wheels,-1


(optional) These are visual components that get added to a car when they pass through a slot with this upgrade. You probably don't need this for new mods.

[resources]
high_tech_wheels = 4
wheel = -4


(optional). Shows what resources get consumed when a car passes through a slot with this upgrade activated, and any features that the upgrade provides have been selected for the car. There can be multiple entries, and they can be negative, like the above example which reduces the number of wheels needed and replaces them instead with high tech wheels.

[resource_replacements]
0 = seat,seat_white
1 = seat_nappa,seat_white
2 = seat_red,seat_white


(optional) Instead of negative resources, and especially for situations where the resources used is unknown (cars have variable numbers of seats based on body type), this section lets you replace the existing requirements with other requirements, without specifying numbers. Ideal for replacement with higher-end alternatives.

Finally...you need to actually make your upgrade show up at some slots! To do this you need to add a new section like this:

[tasks]
0 = "task_fit_doors"
1 = "task_fit_door_panels"


This is just a list of tasks where the slot can be added.

As well as the text file, you also need to add a translated poiece of text to use as the upgrade name. You need to place this in a text file here:

\my documents\my games\production line\data\translations\EN\upgrades.txt

like this:

LARGER_SALES_TEAMS_GUINAME = "Larger Sales Teams"

Where you take the UPPERCASE version of the upgrade name and add _GUINAME to it.


73 Comments
denis2004db 13 Dec, 2024 @ 3:45am 
@Il pape rello nel lago duria from what i know that is possible. Just write your own file and overwrite it accordingly. First the game data is loaded then the mods so its overwriting them
Il pape rello nel lago duria 2 Dec, 2024 @ 12:15pm 
Back to try to fix my mod. Is it possible to overwrite the base game upgrades? I have many wheel types that can be made on the wheel manufacturer thanks to slot upgrades. You can make that only one of the upgrades is selected with [negative_upgrades], but only works with the ones I added. Is there a way to overwrite the base game upgrade (make_alloy_wheel?)
Il pape rello nel lago duria 28 Oct, 2023 @ 3:37am 
I figured it out, it gets the related research icon
Il pape rello nel lago duria 28 Oct, 2023 @ 3:26am 
Is there a way to change the slot upgrades icon?
denis2004db 22 Jan, 2022 @ 6:41am 
@cliffski Hey, Im having an issue now. While trying to update mine mod onto the workshop over the ingame feature the game crashes and doesnt update the mod. How can I resolve that or what is probably the cause for that?
cliffski  [author] 14 Jan, 2022 @ 4:36am 
Could be, maybe they tie steamworks into it somehow.
david162 14 Jan, 2022 @ 3:30am 
I enabled cloud sync and my mods uploaded, so I assume that this is now a requirement, by STEAM maybe
david162 13 Jan, 2022 @ 9:28pm 
No I have not, I did not think that was necessary from reading the guide, I will try and activate it and see how it goes
cliffski  [author] 13 Jan, 2022 @ 1:15am 
Thats weird. it shouldn't make any difference. Have you tried turning on cloud synch for the game in steam?
david162 12 Jan, 2022 @ 3:56pm 
Hi Cliffski,
I get this error when I try and upload my mods and there is no information in the guide about this problem.
"Cloud not enabled for app:..\src\app_steamworkshop.cpp152"