Galatia Academy

ship_data.csv

ship_data.csv is a file of .csv format. While possible to edit with a text editor, it is highly advised to use appropriate tools for .csv format to prevent errors. If you plan on editing .csv, please visit Required Tools page and use one of the appropriate tools.

A .ship flie and a ship_data.csv entry contain all of the information directly about a ship. The more commonly balance tweaked information is in the ship_data.csv while the less commonly edited information is in the .ship file. It is formatted as a comma delimited CSV file.

ship_data.csv is always located inside data/hulls/. If csv is in wrong location or with wrong name game will not read data in it.

Elements

At the very top of ship_data.csv, you will see a list of categories. Going from left to right, the function of each are explained in table bellow.

Type Column legend (Not all types used by every csv)
  • String (ID) - this is unique ID for this separate ship, system, hullmod and so on depending on file. It most important String for most csvs and files. It how game finds things in first place. Changing ID means changing it in all other connected files, usually manually. Do ID right when you first setup entry, and try to keep it same going forward.
  • String (Any) - freeform text, usually names, descriptions or designations. Usually will not get used anywhere outside UI.
  • String (Keys) - these text fields accept only predefined values, either ids (of ships, shipsystems and other things) or some special key. Case sensitive. If you want to enter multiple keys in cell they need to be separated by comma (e.g COMBAT, CARRIER) Note that not all key columns can accept multiple values.
  • Number (int) - accepts whole numbers. Correspond to some int value in API.
  • Number (float) - accepts decimal numbers. Correspond to some float value in API. For decimals in .csv whole and decimal part separated by dot (e.g. 1.2)
  • Boolean - TRUE or FALSE, tells what something is true or false, used for major grouping of things which can only be one or another thing in game engine.

Example column based on Wolf Frigate from vanilla.

Column name Example Type Description
name Wolf String (Any) Player-friendly in-game display name of the ship. This isn't the internal name for the ship.
id wolf String (ID) Internal ID used to reference this ship in the corresponding .shipfile, .variant files and campaign scripts.
This must be unique across the mod, vanilla files and any other mods active. For this reason it is highly recommended to add some form of unique prefix such as myuniquemod_shipid. Case sensitive.
designation Frigate String (Any) The ship designation to show in game as flawor.
Not the same as hullsize which is defined in .ship.
Does not affect gameplay. Unused for wings which use values from wing_data.csv instead.
tech/manufacturer High Tech String (Any) Used to show who "created" the ship, also used for sorting in codex.
system id displacer String (Keys) Ship system for this ship. Must match the id of a ship system in the ship_systems.csv
fleet pts 5 Number (int) Abstract number denoting how powerful the ship is. Used for when two AI fleets clash in the campaign and for determining maximum total abstract fleet power for randomly generated fleet doctrines. Unused for fighters.
hitpoints 1500 Number (float) Determines the ship's Hull Integrity value
armor rating 150 Number (float) Determines the ship's Armor Rating value
max flux 2250 Number (float) Determines the ship's Flux Capacity value
8/6/5/4% 1875 Number (float) Unused by game. Theoretically the "ideal" ratio between flux dissipation and capacity per hullsize (e.g a frigate with 1k cap should have 80 diss). Can be used as base for further balancing.
flux dissipation 150 Number (float) Determines the ship's Flux Dissipation value
ordnance points 55 Number (int) Determines the ship's Ordnance Points value
fighter bays Number (int) Determines the ship's number of fighter bays.
Note that 6 bays is the maximum safe number. 7 won't break the game but will cause graphical quirks on some resolutions and 8 or more will break things.
max speed 150 Number (float) Determines the ship's Maximum speed.
acceleration 130 Number (float) Determines the ship's Acceleration. Lower values mean longer acceleration time, while higher values mean shorter acceleration time.
deceleration 100 Number (float) Determines the ship's Deceleration. Lower values mean longer deceleration time, while higher values mean shorter deceleration time.
max turn rate 60 Number (float) Determines the maximum rate a which a ship can turn.
This is also used by Axial Rotation hullmod to set the rotation speed for stations.
turn acceleration 120 Number (float) Determines how fast a ship reaches is maximum turn rate after beginning a turn.
mass 200 Number (float) Determines how "heavy" a ship is. Used when calculating damage from collisions with other vessels or asteroids. Also affects how much the ship is moved from weapons with an Impact value, such as Graviton Beam.
Ships with higher mass will deal more damage to smaller vessels/asteroids in collisions, and take less damage as well. In the case of stations or other ships with modules then the mass of the base ship plus all module "ships" is added together.
shield type FRONT String (Keys) Determines what type of defense the ship has. Possible values are NONE, OMNI, FRONT or PHASE, based on the ShieldAPI.
Note what defensive systems like Canister Flak and Damper Field use PHASE value together with system id in defence id column to assign.
defense id String (Keys) ID of the Alternate defense systems to use instead of a shield, such as a phase cloak system. Only meaningful if shield type is set to PHASE. Custom build ship systems can be inserted here. Can be left blank unless using PHASE in shield type. Possible entries are valid ship system IDs.
shield arc 150 Number (float) Determines the maximum coverage of the ship's shield in degrees.
shield upkeep 0.4 Number (float) Flux per second cost incurred when the shields are raised.
Denoted as a decimal multiplier of the ship's base flux dissipation rate e.g 0.5 means the flux per second cost is half of its dissipation, 0.1 means the flux per second cost is one-tenth of its dissipation.
shield efficiency 0.7 Number (float) Determines how much damage shields take.
Denoted as how much flux will be generated by 1 point of damage. 0.5 would mean that shields take half damage from the weapon impacting it, while 1.0 would mean that shields take full damage from the weapon impacting it.
phase cost Number (float) Determines wow much flux is generated per second by the ship's Phase Cloak (if it has one) when it
activated, as a fraction of base flux capacity. Numbers to two decimal places such as 0.04 are normal.
phase upkeep Number (float) How much flux is generated per second by the ship's Phase Cloak (if it has one) during use as a fraction of base flux capacity. Numbers to two decimal places such as 0.04 are normal.
min crew 15 Number (float) Determines the ship's skeleton crew requirment.
max crew 30 Number (float) Determines the ship's maximum crew.
cargo 50 Number (float) Determins the amount of cargo the ship can carry. Unused for wings.
fuel 20 Number (float) Determines the amount of fuel the ship can carry. Unused for wings.
fuel/ly 1 Number (float) The amount of fuel a ship consumes per lightyear when travelling in hyperspace and when using Emergency Burn. Unused for wings.
range 20 Number (float) Unused by game. For comparing potential travel range with other ships.
max burn 10 Number (float) Determines the ship's burn speed.
base value 12000 Number (float) The amount of base credits the ship costs in the campaign. Unused for wings which use values in wing data csv instead.
cr %/day 10 Number (float) How much Combat readiness is recovered per day out of combat.
CR to deploy 20 Number (float) Reduction to combat readiness after combat from being deployed.
peak CR sec 180 Number (float) Determines the ship's Peak Performance Time; how long the ship can stay in combat before combat readiness begins to decay, in seconds. It is possible to remove CR loss by leaving both peak CR sec & CR loss/sec values blank, which has uses for stations. Unused for wings.
CR loss/sec 0.25 Number (float) How much combat readiness the ship loses per second after peak performance time runs out. It is possible to remove CR loss by leaving both peak CR sec & CR loss/sec values blank, which is uses for stations. Unused for wings.
supplies/rec 5 Number (float) Determines the required supplies to recover after being deployed in combat.
Also sets ship's Deployment Point (DP) cost.
supplies/mo 5 Number (float) Determines supplies ship consumes per month as maintenance.
c/s Number (float) Unused by game For comparing logistics with other ships. cargo/supplies per month
c/f Number (float) Unused by game. For comparing logistics with other ships. cargo/fuel per ly
f/s Number (float) Unused by game. For comparing logistics with other ships. fuel/supplies per month
f/f Number (float) Unused by game. For comparing logistics with other ships. max fuel/fuel per ly (same as range)
crew/s Number (float) Unused by game. For comparing logistics with other ships. crew/supplies per month
crew/f Number (float) Unused by game. For comparing logistics with other ships. crew/fuel per ly
hints String (Keys) These 'hints' change the way the game treats this ship in various ways. These refer to ShipHullSpecAPI.ShipTypeHints.
See the Hints section below for more information.
tags hightech_bp, merc, ind String (Keys + Any) Tags are strings used to attach additional data to ships.
They often used to define what faction knows a ship (see .faction - "knownHulls"), but also for interaction with other game systems. While there are some tags already used by game, you can create new ones by just adding them in csv.
For more information on already existing tags see the Tags section below.
logistics n/a reason String (Any) Text to show instead of "Logistical Data" section in Codex/ship stats. Used to hide "Logistical Data".
codex variant id String (Keys) ID of ship variant to be shown as base hull in codex. Usually left empty.
rarity Number (float) Multiplies the base chance for the ship to appear in the market. A value of '1' causes the ship to spawn normally. '0.5' means the ship will appear in markets only half as frequently, and 2 will make twice as common.
If left empty defaults to value of 1.
breakProb 0.5 Number (float) Value from 0 to 1 - represents the chance that ship will explode into pieces when destroyed.
Value of 0 means it will never shatter, value of 1 means it will always shatter.
Shattered ships can only be recovered by spending S-points.
minPieces 2 Number (float) The minimum number of pieces the ship will shatter into, if it shatters
maxPieces 2 Number (float) The maximum number of pieces the ship will shatter into, if it shatters
travel drive String (Keys) Can be used to specify custom system for travel drive
- Defaults to "traveldrive" if not specified
System must perform the same basic function in the same basic way:
- Toggleable, same/extremely similar speed bonus, etc
- Mainly useful for setting up custom sounds and visuals for the system
number 200 Number (int) This impacts the sorting display of ships within a market. I.E. ships will be sorted based on hull size and then based on this number field.

Hints

These refer to the ShipHullSpecAPI.ShipTypeHints enum, the Possible values are:

Hint Description
FREIGHTER Marks the ship as a freighter for the purposes of fleet spawning
TANKER Marks the ship as a tanker for the purposes of fleet spawning
LINER Marks the ship as a liner / transport for the purposes of fleet spawning
TRANSPORT Marks the ship as a transport for the purposes of fleet spawning
CIVILIAN Marks the ship as civilian; civilian ships do not count against the DP limits for some skills, among other things.
Also changes AI behaviour to make the ship more timid
CARRIER Changes AI behaviour to primarily fight using its fighters
COMBAT Changes AI behaviour regarding the CARRIER hint, making the ship more willing to get involved in frontline combat
NO_AUTO_ESCORT Changes AI behaviour regarding the CARRIER hint, making the ship not send it's fighters out to escort other ships
UNBOARDABLE Makes the ship unrecoverable. Overridden by the "auto_rec" tag if the player has the automated ships skill
STATION Marks the ship as a station, locking it in place and removing its ability to move.
Also makes the ship spawn at the midpoint of the map when deployed.
SHIP_WITH_MODULES Marks the ship as having modules, required if you want the ship to have modules
MODULE Marks the ship as a module
HIDE_IN_CODEX Hides the ship from the codex
UNDER_PARENT Makes the ship render under its parent ship, if it is a module
INDEPENDENT_ROTATION Allows the ship to rotate independently from its parent ship, if it is a module
ALWAYS_PANIC Changes AI behaviour, making the ship always dump missiles as if it is panicking
WEAPONS_FRONT_TO_BACK Changes tiebreaker for weapon render order to be distance from front of ship (front weapons go below rear ones) instead of distance from ship spine.
WEAPONS_BACK_TO_FRONT Reverse behaviour to WEAPONS_FRONT_TO_BACK.
Changes tiebreaker for weapon render order to be distance from rear of ship (rear weapons go below front ones) instead of distance from ship spine.
DO_NOT_SHOW_MODULES_IN_FLEET_LIST Makes it so the ship's modules are not rendered in the various fleet displays
RENDER_ENGINES_BELOW_HULL Makes it so the ship's engines render below the hull
NEVER_DODGE_MISSILES Changes AI behaviour, preventing the ship from attempting to dodge a missile
MISSILE_HARDPOINTS_ROTATE Allows missile hardpoints to rotate
NO_NEURAL_LINK Prevents the "neural link" and "neural integrator" hullmods from being installed on the ship
PHASE Marks the ship as a phase ship
PLAY_FIGHTER_OVERLOAD_SOUNDS Enables overload sounds if the ship is a fighter

Tags

Tags are strings used to attach additional data to ships.

They often used to define what faction knows a ship (see .faction - "knownHulls"), but also for interaction with other game systems. While there are some tags already used by game, you can create new ones by just adding them in csv.

For example, adding "myfactiontag" in ship_data.csv tags will allow you then to reference this tag in .faction instead of adding knows ships one by one.

Tag Description
no_dealer Blocks the ship from being purchaseable from the arms dealer bar event
restricted Prevent ship from being available for arms dealer bar events (but not ones using player blueprints), removes it from simulator and mission refit and doesn't show it in escape menu,
To be used for things not meant to be available by player.
no_sell Prevents the hull from appearing in markets
req_military Prevents the hull from appearing in civilian markets
rare_bp Allows the hull to appear as a single blueprint
kanta_gift Allows this hull's blueprint to be used as a gift to earn kanta's favour
no_bp_drop Prevents the blueprint from being dropped in raids
base_bp Adds this hull to the base pool of blueprints
hightech_bp Adds this hull to the high-tech blueprint pack
midline_bp Adds this hull to the midline blueprint pack
lowtech_bp Adds this hull to the low-tech blueprint pack
pirate_bp Adds this hull to the pirate blueprint pack
LP_bp Adds this hull to the luddic path blueprint pack
LC_bp Adds this hull to the luddic church blueprint pack
special_allows_system_use Allows the ship's system to be used while its non-phase / shield special ability is on
system_allows_special_use Allows the ship's non phase / shield special ability to be used while its shield is on
hist1t, hist2t, hist3t Allows the historian bar event to spawn this blueprint.
The number denotes which donation tier the player must be on before it starts appearing
auto_rec Allows the ship to be recovered if the player has the automated ships skill.
Must be used in conjunction with the UNBOARDABLE hint
codex_unlockable Makes it so that the player must first encounter this ship for it to be visible in the codex
no_autofit Prevents autofit from working on this ship; it will directly copy a variant instead
module_hull_bar_only If the ship is a module, this hides the flux bar
automated A secondary way of indicating that a ship is automated
full_cr_recovery Makes the ship instantly recover to 100% CR after every fight
no_auto_penalty Makes the ship not use any automated ship points.
Must be used in conjunction with the automated hullmod or tag
limited_tooltip_if_locked Shows a limited tooltip if the player has not unlocked the ship's codex entry
monster Used for checking what items available to turn in to Zunya Glamor-Rotanev as Shroud related after that interaction is unlocked
dweller Marks the ship as a dweller ship
dweller_timid, dweller_cautious, dweller_aggressive, dweller_reckless Overrides the ship's personality if it is a dweller ship
dweller_vortex Marks the ship as a shrouded vortex for AI creation
dweller_ejecta Marks the ship as a shrouded ejecta for AI creation
no_armor_schematic Prevents an armour schematic from being drawn when the player is locked into the ship
center_diamond_on_hull_center
no_battle_salvage Prevents all post-battle salvage from dropping
threat Marks the ship as a threat ship
threat_timid, threat_cautious, threat_aggressive, threat_reckless Overrides the ship's personality if it is a threat ship
threat_hive Marks the ship as a hive unit equivalent
threat_overseer Marks the ship as an overseer unit equivalent
threat_fabricator Marks the ship as a fabricator equivalent
threat_combat Marks the ship as a line / assault unit equivalent
threat_skirmish Marks the ship as a skirmish unit equivalent
Last updated 7/2/2026, 5:44:52 PM by Vexlia Artemiss, Witch of Zeta · revision 38