Void Bastards

Void Bastards

53 ratings
Save Editing For Real Void Bastards
By ShugoTheRipper
A guide to rudimentary save file editing. Modify traits, items, and much more; to make the game easier, harder, homebrew characters or to fix soft locks.
2
   
Award
Favorite
Favorited
Unfavorite
Save File Location

The save file is an XML document and can be found at the following locations:

Platform Type
Save File Location
Steam
%USERPROFILE%\AppData\LocalLow\BlueManchu\VoidBastards\Steam\<user-id>\
Steam Play (Linux)
<Steam-folder>/steamapps/compatdata/857980/pfx/

If the save file is difficult to find or you are on a different platform you can refer to the PC Gaming Wiki[www.pcgamingwiki.com] for up to date save file locations. In addition to extra configurations and settings.

Editing Software

XML files are basic text files and can be opened with any plain text editor.

However the sheer size and formatting of the document can make it difficult to navigate or comprehend the contents. For this reason I will provide some recommendations that can make editing it easier; they are as follows:

Notepad
Notepad++
VS Code (Recommended)
Nano
Platform:
Microsoft Windows
Platform:
Microsoft Windows
Platforms:
Microsoft Windows, Linux
Platform:
Linux
Location:
Included with Microsoft Windows
Location:
Included in most Linux Distros
Note:
Basic, hard to understand large amounts of code in practice.
Note:
Basic, much better line distinction and search functions.
Note:
Intermediate, auto formmating and the program is XML markup aware.
Note:
Advanced, terminal based text editor that is easier than vi.

Note: The save file has over 6000 lines of code, it is strongly advised to use something more than the default notepad.

Character Editing (Overview)

Open the XML save file named "VB.xml" in a text editor. Use the search feature commonly bound to the hot keys "Ctrl+F" and search for "<key>Character.dataJSON</key>". Doing so should lead you to the entry listed below.

You may want to back up your save file by making a copy and placing it in a safe location.

In most cases if the file is modified with incompatible values the game will automatically set defaults instead of thinking it is corrupt. Regardless backups are still best practice, as it makes it easy to undo large amounts of modification.

Code Layout In XML Save File:

<DataContainer> <key>Character.dataJSON</key> <value xsi:type="string">{"title":"Prisoner","ID":"D-2342-9865","shortID":"M-001","firstName":"Chester","surname":"Stevens","shortName":"Stevens, C.","gender":0,"photo":"Smoker_M01","traits":[{"tag":12,"tagGroup":0,"alignment":1},{"tag":14,"tagGroup":0,"alignment":1},{"tag":19,"tagGroup":0,"alignment":1}],"offense":"SMOKER"}</value> </DataContainer>

Code Reformatted For Readability:

The following is a quick reformat of the code. It can be noted that almost all modifiable entries are relatively obvious and any changes to them will change the similar entries in characters "BIO" in game.

In addition Chester is not a randomly generated character, and is given by default depending on game difficulty.

However he has been modified in this example to already have the maximum number of traits. By default he normally has the "Smoker" trait and nothing else.

<DataContainer> <key>Character.dataJSON</key> <value xsi:type="string"> {"title":"Prisoner", "ID":"D-2342-9865", "shortID":"M-001", "firstName":"Chester", "surname":"Stevens", "shortName":"Stevens, C.", "gender":0, "photo":"Smoker_M01", "traits":[ {"tag":12,"tagGroup":0,"alignment":1}, {"tag":14,"tagGroup":0,"alignment":1}, {"tag":19,"tagGroup":0,"alignment":1}], "offense":"SMOKER"} </value> </DataContainer>

Character Editing (Photo)

The photo entry allows you to change the mugshot used by the character.

This section will provide some example cases but not all as there is a huge amount of potential photos. By mixing and matching Class, Gender, and ID you can discover many different results.

Class
Gender
ID
Code
Result
Smoker_
M
01
Smoker_M01
Generic_
F
23
Generic_F23
PowerEngineer_
M
04
PowerEngineer_M04
MS_
female_
tall
MS_female_tall
MS_
male_
short
MS_male_short


These Are Some Possible Settings:

Generic_F23, Generic_M11, Disoriented_F04, Paranoid_M04, Suspicious_F04, MS_female_tall, LowProfile_M04, Authoritative_F04, MS_male_short, Smoker_M04, Anxious_F04, TunnelVision_F04, EagleEye_F04, Yahoo_M04, JammyBastard_F04, OverlyFormal_F04, PowerEngineer_M04.

Character Editing (Traits: Overview)

If you want a list of traits with no code it can be found here:
https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=2351539128
Character Editing (Traits: 0 - 10)

The traits entry allows you to change, and/or assign up to three character modifiers.

Tag
Description
Code
0
PUNY - Low Health
{"tag":0,"tagGroup":0,"alignment":3}
1
BRAWNY - Extra Health
{"tag":1,"tagGroup":0,"alignment":1}
2
SLUGGISH - Slow Runner
{"tag":2,"tagGroup":0,"alignment":3}
3
RUNNER - Fast Runner
{"tag":3,"tagGroup":0,"alignment":1}
4
WILD SHOT - Poor Aim
{"tag":4,"tagGroup":0,"alignment":3}
5
DEAD EYE - Excellent Aim
{"tag":5,"tagGroup":0,"alignment":1}
6
DIMINUTIVE - Short Stature
Steam deleted image - WIP restoring...
{"tag":6,"tagGroup":0,"alignment":1}
7
TOWERING - Tall Stature
{"tag":7,"tagGroup":0,"alignment":1}
8
FOOT PAD - Doesn't Make Noise When Running
{"tag":8,"tagGroup":0,"alignment":1}
9
TUNNEL VISION - Has Poor Peripheral Vision
{"tag":9,"tagGroup":0,"alignment":3}
10
TRIGGER HAPPY - Reloads Quickly
{"tag":10,"tagGroup":0,"alignment":1}
Character Editing (Traits: 11 - 21)
Tag
Description
Code
11
SHALLOW BREATHER - Consumes Oxygen More Slowly
{"tag":11,"tagGroup":0,"alignment":1}
12
SIXTH SENSE - Can See Enemies On Minimap
{"tag":12,"tagGroup":0,"alignment":1}
13
BURGLAR - Fast Door Lock Authorization
{"tag":13,"tagGroup":0,"alignment":1}
14
STICKY FINGERS - Automatically Picks Up Nearby Objects
{"tag":14,"tagGroup":0,"alignment":1}
15
SNIPER - Chance Of A Critical Hit On Each Shot
{"tag":15,"tagGroup":0,"alignment":1}
16
LOW PROFILE - Can't Be Seen Through Windows
{"tag":16,"tagGroup":0,"alignment":1}
17
LONG ARMS - Interacts With Objects At A Greater Distance
{"tag":17,"tagGroup":0,"alignment":1}
18
YAHOO - Yells When Picking Up Items
{"tag":18,"tagGroup":0,"alignment":3}
19
TOUR GUIDE - Nearby Tourist Won't Spontaneously Detonate
{"tag":19,"tagGroup":0,"alignment":1}
20
SMALL APPETITE - 25% Chance Of Not Consuming Food When Moving Or Resting
{"tag":20,"tagGroup":0,"alignment":1}
21
AUTHORITATIVE - Can Authorize In Half The Normal Time
{"tag":21,"tagGroup":0,"alignment":1}
Character Editing (Traits: 22 - 32)
Tag
Description
Code
22
RECYCLER - Receives 25% More Materials From Recycled Junk Or Parts
{"tag":22,"tagGroup":0,"alignment":1}
23
SHORT FUSE - Thrown Explosives Explode Rapidly
{"tag":23,"tagGroup":0,"alignment":1}
24
CANNIBAL - 5% Of Citizens Drop Food When Killed
{"tag":24,"tagGroup":0,"alignment":1}
25
DISORIENTED - 25% Of The Time, Moves S.T.E.V. To The Wrong Location
{"tag":25,"tagGroup":0,"alignment":3}
26
DRAUGHT DODGER - Doors Close Automatically
Steam deleted image - WIP restoring...
{"tag":26,"tagGroup":0,"alignment":3}
27
HEAVY BREATHER - Consumes Oxygen More Quickly
{"tag":27,"tagGroup":0,"alignment":3}
28
SLEEPY - 50% Of The Time When Resting, Rests An Extra Day
{"tag":28,"tagGroup":0,"alignment":3}
29
GREEDY - 20% Of The Time Consumes An Additional Food When Moving Or resting
{"tag":29,"tagGroup":0,"alignment":3}
30
COLOR BLIND - Sees The World In Black And White
{"tag":30,"tagGroup":0,"alignment":3}
31
SMOKER - Randomly Coughs, Alerting Enemies
{"tag":31,"tagGroup":0,"alignment":3}
32
OVERLY FAMILIAR - Calls Everybody By Their First Name
{"tag":32,"tagGroup":0,"alignment":3}
Character Editing (Traits: 33 - 43)
Tag
Description
Code
33
OVERLY FORMAL - Calls Everyone By Their Last Name
{"tag":33,"tagGroup":0,"alignment":3}
34
ANXIOUS - Spontaneously Gets The Feeling That Combat Has Started
{"tag":34,"tagGroup":0,"alignment":3}
35
PARANOID - Randomly Hears Voices
{"tag":35,"tagGroup":0,"alignment":3}
36
CLUMSY - 10% Of Reloads Fail And The Clip Is Dropped
{"tag":36,"tagGroup":0,"alignment":3}
37
THICK SKINNED - Damage By Radiation At Half The Normal Rate
{"tag":37,"tagGroup":0,"alignment":1}
38
GUN NUT - When Possible. Takes An Extra Random Weapon Onto Vessels
{"tag":38,"tagGroup":0,"alignment":1}
39
BOY SCOUT - 25% Of The Time Starts A Mission With The Full Layout Map
{"tag":39,"tagGroup":0,"alignment":1}
40
INFILTRATOR - More Slowly Detected By Peepers And Gunpoints
{"tag":40,"tagGroup":0,"alignment":1}
41
EAGLE EYE - Can See Loose Items On The Layout Map
{"tag":41,"tagGroup":0,"alignment":1}
42
SCROUNGER - 80% Of The Time When Out Of Ammo Scrounges Another Clip From Somewhere
{"tag":42,"tagGroup":0,"alignment":1}
43
SKULKER - Pirate Take Twice As Long To Fix Location On Board
{"tag":43,"tagGroup":0,"alignment":1}
Character Editing (Traits: 44 - 54)
Tag
Description
Code
44
CNT APPROVED - Doesn't Trigger Explosives Dropped By Scribes
{"tag":44,"tagGroup":0,"alignment":1}
45
SECURITY EXPERT - Gunpoints And Peepers Are Shown On Layout Map
{"tag":45,"tagGroup":0,"alignment":1}
46
PLUMBER - Show Hazardous Leaks On The Layout Map
{"tag":46,"tagGroup":0,"alignment":1}
47
GOURMAND - Food Is Shown On The Map
{"tag":47,"tagGroup":0,"alignment":1}
48
ACE PILOT - Can Fly Around Nuc Mines
{"tag":48,"tagGroup":0,"alignment":1}
49
EVASIVE FLYER - 10% Chance Of Pirates Vessels Not Pursuing When S.T.E.V. Moves
{"tag":49,"tagGroup":0,"alignment":1}
50
BARGAIN HUNTER - Receives 25% Off Krell Mart Prices
{"tag":50,"tagGroup":0,"alignment":1}
51
POWER ENGINEER - Can Detect Power Outages Before Entering A Vessel
{"tag":51,"tagGroup":0,"alignment":1}
52
NAVIGATOR - Can See Hidden Starmap Routes
{"tag":52,"tagGroup":0,"alignment":1}
53
AIRLOCK TECH - Can Leave A Vessel From Any Airlocks
{"tag":53,"tagGroup":0,"alignment":1}
54
LUCKY - Always Gets Good Prizes From Spin And Win
{"tag":54,"tagGroup":0,"alignment":1}
Character Editing (Traits: 55 - 66)
Tag
Description
Code
55
JAMMIE BLUDGER - Break Rooms Always Have A Biscuit
{"tag":55,"tagGroup":0,"alignment":1}
56
UNSTOPPABLE - Nearby Doors Open And Unlock Automatically
{"tag":56,"tagGroup":0,"alignment":1}
57
STICKY FEET - Can't Be Knocked Back And Is Unaffected By Lubricant Leaks
{"tag":57,"tagGroup":0,"alignment":1}
58
INSURED - Receives 1 Merit for Every 1% Of Health Lost
{"tag":58,"tagGroup":0,"alignment":1}
59
SUSPECT - More Quickly Detected By Peepers And Gunpoints
{"tag":59,"tagGroup":0,"alignment":3}
60
RECKLESS - One Citizen Type Isn't Identified On Vesseles
{"tag":60,"tagGroup":0,"alignment":3}
61
BUTTERFINGERS - Occasionally Drops Junk Being Carried
{"tag":61,"tagGroup":0,"alignment":3}
62
UNLUCKY - Always Gets Junk From Lucky Dips
{"tag":62,"tagGroup":0,"alignment":3}
63
KNOWN FELON - Gunpoints Are Always Active, Even In Krell Marts
{"tag":63,"tagGroup":0,"alignment":3}
64
ILL-PREPARED - Half The Time Takes The Wrong Weapon
{"tag":64,"tagGroup":0,"alignment":3}
65
THIN SKINNED - Damage By Radiation At Twice The Normal Rate
{"tag":65,"tagGroup":0,"alignment":3}
66
OBLIVIOUS - Can't See Enemies' Health
{"tag":66,"tagGroup":0,"alignment":3}
Character Editing (Offence)

The offence entry allows pre-baked incarceration reasons to be set. They are generally related to, and named after traits.

These Are Some Possible Settings:

"FLEET_FOOT", "SMOKER", "STEV_FRIEND", "GOURMAND", "SIXTH_SENSE", "OVERLY_FAMILIAR", "ACE_PILOT", "CANNIBAL", "BRAWNY", "SLEEPY", "SMALL_APPETITE", "INSURED", "SHORT_FUSE", "AUTHORITATIVE", "LOOKS_THE_PART", "NAVIGATOR", "SECURITY_EXPERT", "THICK_SKIN", "TUNNEL_VISION", "LONG_ARMS", "GIANT", "EAGLE_EYE", "RECYCLER", "GEIGER_COUNTER", "BISCUIT_SCROUNGER", "OVERLY_FORMAL", "LOCKPICKER", "COLOR_BLIND".

Character Editing (Homebrew Example)

Here is an example homebrew character; it is the "Juggernaut" from the X-Men™ franchise.

The code below creates the character profile on the right hand side.

By mixing and matching different settings interesting custom characters can be created.

<DataContainer> <key>Character.dataJSON</key> <value xsi:type="string"> {"title":"Mutant", "ID":"Juggernaut", "shortID":"M-025", "firstName":"Cain", "surname":"Marko", "shortName":"Marko, C.", "gender":0, "photo":"MS_male_tall", "traits":[ {"tag":7,"tagGroup":0,"alignment":1}, {"tag":56,"tagGroup":0,"alignment":1}, {"tag":9,"tagGroup":0,"alignment":3}], "offense":"GIANT"} </value> </DataContainer>

Note: The "gender" setting only effects the voice of the character. A setting of 0 is for a more masculine voice, in contrast to a setting of 1 which is feminine.

Inventory Editing (Overview)

Open the XML save file named "VB.xml" in a text editor. Use the search feature commonly bound to the hot keys "Ctrl+F" and search for the listed search term.

You can give yourself a ridiculous amount of resources to play with. Certain values not listed in this guide can not be modified by changing integer values and require flags to be set. Since this is more advanced it will not be covered.

As an example for the code below the search term is "Warp" and the bold "100" is the value to modify once the entry is found.

<value xsi:type="string">Warp</value> </DataContainer> <DataContainer> <key>FL_PlayerInventory.m_InternalUnitBanks.24.Count</key> <value xsi:type="xsd:int">100</value> </DataContainer>

Inventory Editing (Basic Items)

HEALTH
Search Term: CurrentHealth, MaxHealth
<DataContainer> <key>playerDamageHandler.CurrentHealth</key> <value xsi:type="xsd:float">1950</value> </DataContainer>
<DataContainer> <key>playerDamageHandler.MaxHealth</key> <value xsi:type="xsd:float">1950</value> </DataContainer>
Note: Modifying these values seems to have no effect other than being able to force a full heal.

FUEL
Search Term: Fuel
<DataContainer> <key>FL_PlayerInventory.m_InternalUnitBanks.6.Count</key> <value xsi:type="xsd:int">100</value> </DataContainer>

FOOD
Search Term: Food
<DataContainer> <key>FL_PlayerInventory.m_InternalUnitBanks.13.Count</key> <value xsi:type="xsd:int">100</value> </DataContainer>

MERRITS
Search Term: Nanobot
<DataContainer> <key>FL_PlayerInventory.m_InternalUnitBanks.12.Count</key> <value xsi:type="xsd:int">100</value> </DataContainer>

Note: The bold values are the numbers that should be modified.

Inventory Editing (Advanced Items)

WARP KEYS
Search Term: Warp
<DataContainer> <key>FL_PlayerInventory.m_InternalUnitBanks.24.Count</key> <value xsi:type="xsd:int">100</value> </DataContainer>

TORPEDOES
Search Term: Torpedo
<DataContainer> <key>FL_PlayerInventory.m_InternalUnitBanks.25.Count</key> <value xsi:type="xsd:int">100</value> </DataContainer>

HEART STARTERS
Search Term: Resurrect
<DataContainer> <key>FL_PlayerInventory.m_InternalUnitBanks.27.Count</key> <value xsi:type="xsd:int">100</value> </DataContainer>

Note: The bold values are the numbers that should be modified.

Inventory Editing (Materials)

As everything you need to progress in game can be crafted, this guide will only cover the raw resources needed to do that.

BIO
Search Term: BioMass
<DataContainer> <key>FL_PlayerInventory.m_InternalUnitBanks.7.Count</key> <value xsi:type="xsd:int">100</value> </DataContainer>

DATA
Search Term: CPU
<DataContainer> <key>FL_PlayerInventory.m_InternalUnitBanks.8.Count</key> <value xsi:type="xsd:int">100</value> </DataContainer>

PLAZ
Search Term: Plastic
<DataContainer> <key>FL_PlayerInventory.m_InternalUnitBanks.11.Count</key> <value xsi:type="xsd:int">100</value> </DataContainer>

SLAG
Search Term: Duranium
<DataContainer> <key>FL_PlayerInventory.m_InternalUnitBanks.9.Count</key> <value xsi:type="xsd:int">100</value> </DataContainer>

VOLTS
Search Term: EnergyCell
<DataContainer> <key>FL_PlayerInventory.m_InternalUnitBanks.10.Count</key> <value xsi:type="xsd:int">100</value> </DataContainer>

Note: The bold values are the numbers that should be modified.

Thanks For Reading!

Complex feedback or section suggestions? Visit my group discussion! Posting is publicly open.

After thinking about all the ways I could make home brew character with terrible traits I decided to dig into the save file to see what could be done.

The things I learned have been compiled in this guide. I now know why no one else has done it, as this took hours of work. I hope you find this guide useful, I know I sure do!

If you enjoyed this guide, please consider giving it a Like and or Favorite! Truth be told I hate asking, but it seems to be the trend.
5 Comments
Gregory House M.D. 11 Jun, 2024 @ 6:12pm 
apparently if you mess up the game locks the airlock...
Eery Jan 27 Aug, 2021 @ 1:42am 
I went through it thoroughly and that seemed to be the problem, oops. Thanks!
ShugoTheRipper  [author] 26 Aug, 2021 @ 3:29pm 
I just tested everything again and it still works, so its going to be that one of the values you created is outside the range of what the game accepts or a formatting mistake. Additionally if you are using a rich text editor it is possible it is throwing in formatting that you cant see and also messing it up. Give it another try but maker sure to backup the save before you start. Good Luck!
Eery Jan 26 Aug, 2021 @ 12:24pm 
I edited a few things and it spits out a generic character with no traits at all, pretty sure I have no typos
TaxFreePwnage 12 Jan, 2021 @ 9:27pm 
Reminds me of editing HEX code in other games. When editing health, i'm assuming you can push your Max HP to an insane level, letting you tank basically anything.