JSON Data Modding in Ostranauts
Add items, ships, and interactions with plain JSON — no programming required
JSON data modding (also called data modding) is the most accessible way to extend Ostranauts after you understand vanilla play. Blue Bottle Games ships the base game as editable JSON under StreamingAssets/data/; community creators mirror that folder structure inside mod packs that load after "core". Workshop subscriptions handle distribution for many players, but every mod author eventually touches the same files documented on the official wiki and in the Steam Official Ostranauts Modding Guide (valid from v0.15.0.38+).
This page complements Steam Workshop — Workshop explains subscribe and load order; here we explain how to author a local JSON mod, test safely, and avoid bricking saves. Legitimate modding only — not cheat scripts.
Two mod flavors: Workshop and local
Ostranauts recognizes Workshop mods (subscribed via Steam or the in-game MODS → Open Workshop browser) and local mods (folders you create or download from Discord, GitHub, or Nexus). The in-game MODS menu lists both, respects loading_order.json, and warns when a mod’s target game version is older than your client.
Duplicate detection prioritizes local copies over subscribed Workshop IDs so you can iterate on a mod without unsubscribing. Always backup saves before enabling new packs — see Steam Workshop for the safe subscribe workflow.
Folder layout and mod_info.json
On Windows, local mods live under:
<Ostranauts>/Ostranauts_Data/Mods/YourModFolder/
Every mod needs mod_info.json at the folder root with metadata the MODS scanner displays:
- Friendly name and author
strGameVersioncompatibility (label turns red if your client is newer)- Optional
strWorkshopIDwhen uploading updates to an existing Workshop item - Notes field for changelog text
Inside the mod folder, create a data/ tree that mirrors categories from the base game: items, interactions, ships, condowners, loot tables, careers, and more. File names can be your choice; strName fields inside JSON define the actual game IDs.
Blue Bottle also ships SampleMod.zip and SampleWorkshopMod.zip in the Steam install — unpack, rename, increment version, and diff against vanilla before publishing.
loading_order.json controls overrides
One level up from Mods/, Ostranauts_Data/loading_order.json lists load order in aLoadOrder:
{
"aLoadOrder": ["core", "YourModFolder"]
}
Rules captains and authors must respect:
"core"always first — base game data- Mod folder names must match exactly (case-sensitive)
- Later entries override earlier ones when
strNamecollides - Options → Files → MODS can generate this file if missing
- Append
|editto a mod line to expose Upload instead of Open Folder for Workshop publishing
Wrong order causes missing sprites, broken interactions, or crash-on-boot when two mods redefine the same part.
What JSON mods can change
Data modding covers content without C# / BepInEx:
| Category | Examples |
|---|---|
| Items | Tools, furniture, containers, decorative parts |
| Interactions | Hug, repair, use, custom crew actions |
| Ships | Full hull templates and starter layouts |
| Conditions | Status effects, moodlets, triggers |
| Loot | Spawn tables for derelicts and stations |
| Careers | Background options at character creation |
| AI tasks | Crew priority tweaks (advanced) |
C# modding via BepInEx and Harmony adds code patches — powerful but out of scope here. Start JSON-first; graduate when you need systems the data layer cannot express.
Authoring workflow (safe)
- Copy SampleMod.zip into
Mods/and rename the folder. - Edit
mod_info.jsonwith your name and target game version. - Add
YourMod/data/items/(or interactions/ships) one file at a time. - Register the folder in
loading_order.jsonafter"core". - Launch Ostranauts → MODS menu → confirm load order.
- Start a test save — never gamble a main career on first boot.
- Check
%USERPROFILE%/AppData/LocalLow/Ostranauts logs for JSON syntax errors.
Validate JSON with an external linter before launch — a trailing comma bricks the entire category load.
Stuffed bear tutorial pattern
The official wiki Creating a Stuffed Animal Mod tutorial walks a complete example:
- Define a plush item CondOwner with friendly name and description
- Wire a hug interaction through condition triggers (
condtrigs) - Optional custom sprites under
images/matchingstrImgfields - Test crew AI approaching the item on FREE shift
Follow that pattern for any comfort item, signage, or QoL prop — one feature per test iteration.
Testing against vanilla systems
Modded ships still need Manage Atmosphere routing — authors often forget scrubber capacity. Modded economies may desync Salvage Economy numbers in this wiki, which documents vanilla 1.0 only.
Cross-read Ship Building when publishing hulls: airtight seals, conduit trunks, and nav transponder placement matter even if JSON allows impossible layouts.
Publishing paths
- Steam Workshop — in-game Upload when
|editis set and Steam Overlay enabled - GitHub / Nexus / Discord — zip the mod folder; users install manually and edit
loading_order.json - Thunderstore — primarily BepInEx plugins; JSON-only packs usually distribute elsewhere
List compatible game versions honestly. Post–Version 1.0 Launch saves may break if you remove items mid-career.
Troubleshooting
| Symptom | Likely cause |
|---|---|
| Mod not listed | Folder name mismatch vs loading_order.json |
| Item invisible | Missing sprite or wrong strImg path |
| Interaction missing | Broken condtrig reference or typo in strName |
| Crash on load | JSON syntax error or duplicate ID with wrong override order |
| Red mod label | strGameVersion older than client — test anyway, then bump version |
Disable the mod from MODS menu before deleting files — orphaned save references delete items when the mod unloads.
Related pages
- Steam Workshop — subscribe, Cloud sync, Deck notes
- Tools hub — checklists for vanilla careers
- Getting Started — master base game before modding
- Updates hub — patch breaks mod assumptions
- Version 1.0 Launch — Workshop shipped at release
Frequently Asked Questions
Quick answers for spacers who want to stay alive.
Do I need programming to mod Ostranauts?
No for JSON data mods — edit text files for items, ships, and interactions. C# BepInEx mods require coding. Start with SampleMod.zip and the official stuffed-animal tutorial pattern.
Where does loading_order.json go?
In `Ostranauts_Data/` (one level above the Mods folder). List `"core"` first, then your mod folder names exactly as spelled on disk.
Will mods break my save?
They can. Backup before subscribing or enabling local mods. Uninstalling a mod removes its items from saves. Test on a throwaway career first — see Steam Workshop.