GUI Guide
GUI Guide
⚠️ Before editing: Store your mounts, pets, and farm animals at the station in-game before opening the editor. Only creatures stored at the station appear in the
Mounts.jsonfile — animals currently following you or active in the world are not included.
Launching the Editor
Standalone executable (no Python needed):
- Download IcarusPetEditor.exe from Releases and run it. See the Executable Usage Guide for details.
From source:
python mount_editor.py
The editor auto-detects your Mounts.json from the Icarus save location. You can also use 📂 Open JSON… to browse for a file.
Toolbar
| Control | Description |
|---|---|
| 📂 Open JSON… | Open a different Mounts.json file |
| 💾 Save | Backup original to .bak, then overwrite with edits |
| 💾 Save As… | Save all edits to a new JSON file (defaults to Mounts_edited.json) |
| ↩ Restore Backup | Restore the original file from the .bak backup |
| Mount dropdown | Switch between mounts/companions in the file |
| Type label | Shows detected creature type and lineage |
| 🐛 Report Bug | Open the bug report dialog to submit an issue |
| ℹ️ About | Show version and project info |
Overview Tab
The first tab shows the mount's core identity and stats at a glance.
Identity Section
- Name — Editable display name
- Type — Auto-detected creature type (read-only, derived from AI setup and actor class)
- Role — Mount (rideable), Combat Pet, or Farm Animal
- Gender — Dropdown: Male or Female (internal: 0=Male, 1=Female)
- Appearance — Dropdown for visual phenotype/skin selection
- Buffalo, Moa, Wolf: 8 variations each — shows index, rarity tier (Common/Rare/Legendary), and material name
- All other types: Shows "Default (single appearance)" and is disabled
- Changing the selection updates the
VariationIntProperty in the binary data - On species swap, the appearance automatically resets to the default (index 0)
- See Phenotype & Variations for the full variation catalog
Lineage Section
- Lineage dropdown — Select from all known lineages (Wild, Brave, Careful, Timid, Bold, Hardy, Stout, Ambitious, Resolute, Fierce, Savage, Alpha)
- Description updates automatically showing the lineage's bonuses and penalties
Vital Stats Section
- Experience — Total XP earned (keeps accumulating past level cap)
- Health — Current HP
- Food / Water — Current hunger/thirst levels
- Stamina — Current stamina
Talent Points Summary
Shows: Level X • Y spent / X available • Z unspent
- Level comes from MountLevel in JSON metadata
- Available = 1 talent point per level
- Unspent = Level - sum of all talent ranks
Genetics Tab
Shows all 7 genetic stats with spinboxes (range 0–10):
| Display Name | Internal | Effect |
|---|---|---|
| Vigor | Vitality | Max Health |
| Fitness | Endurance | Max Stamina |
| Physique | Muscle | Melee Damage & Weight Capacity |
| Reflex | Agility | Movement Speed |
| Toughness | Toughness | Physical Damage Resistance |
| Adaptation | Hardiness | Cold & Heat Resistance |
| Instinct | Utility | Production Speed & Cargo Slots |
Each stat shows its short code, current value, max range (/10), and effect description. Hover over any spinbox for detailed tooltip.
Talents Tab
Shows the full talent tree for the detected creature type — not just learned talents.
Layout
- Header: "Talent Tree" with live point counter showing spent/available/unspent
- Section headers group talents by category (Base talents vs Specialization)
- Each talent row: Display name, rank spinbox, max rank, description, current bonus value
Controls
- Set rank 0 = unlearned, rank 1+ = learned
- Spinboxes are capped at each talent's maximum rank
- Point counter updates live as you adjust ranks
- Hover over talent names for detailed tooltips (stat affected, values per rank, internal name)
Unknown Talents
If a mount has talents not in our database, they appear in an "⚠ Unknown Talents" section at the bottom with editable rank spinboxes.
Advanced Tab
A raw property tree showing every UE4 property in the binary data.
Tree Structure
- Property column: property name (expandable for nested structs/arrays)
- Type column: UE4 type (IntProperty, StrProperty, Struct\<Transform>, Array\<StructProperty>, etc.)
- Value column: current value
Editing
- Double-click any value cell to edit inline
- BoolProperty: double-click toggles True/False
- IntProperty: type a new integer
- StrProperty/NameProperty: type new text
- EnumProperty: type the enum value (auto-prefixes with enum type if needed)
- Press Enter to confirm, Escape to cancel
Caution
The Advanced tab exposes everything, including internal fields like ActorClassName, ActorPathName, and GUIDs. Editing these incorrectly can corrupt the save — use with care.
Species Swap (Overview Tab)
At the bottom of the Overview tab is the ⚠ Species Swap (Experimental) section.
Using the Swap
- Select a target from the "Change to:" dropdown — only same-category creatures are listed (e.g., mount→mount)
- Review the preview that appears below:
- 📖 Bestiary name in bold blue with the creature's category
- 📊 Talent compatibility — total talents, shared count, and lists of talents that will be lost or gained
- Italic lore text from the game's bestiary description
- Hover over the lore text to see the extended Lore2 tooltip (available for 21 of 26 species)
- Click "Swap Species…" to open the confirmation dialog
- Review the detailed summary showing all fields that will change and talent point impact
- Click Yes to confirm or No to cancel
What the Dropdown Shows
Species are displayed as "DisplayName (InternalType)" when names differ from the internal key — for example:
- Hyena (DesertWolf) — Desert Wolf's in-game bestiary name is "Hyena"
- Mammoth (WoollyMammoth) — WoollyMammoth is displayed as "Mammoth" in-game
- Wolf — shown as-is when display name matches internal name
What Changes After a Swap
- ✅ Actor class, AI setup, mount type — all updated to new species
- ✅ Talents remapped by display name (shared talents transfer with current ranks)
- ✅ Name, genetics, lineage, stats, level — all preserved
- ⚠ Talents unique to the old species are permanently lost
- ⚠
MountIconNameis not updated (icon may be wrong until game reloads)
Restrictions
- Same category only — you cannot swap a mount into a combat pet or farm animal
- One-way — there is no undo (save creates a new file, so the original is safe)
- Back up first — this is an experimental feature that modifies critical identity fields
Save Workflow
- Make edits across any combination of tabs
- Click 💾 Save As…
- Choose a filename (defaults to
Mounts_edited.json) - The editor collects all pending edits, re-serializes all mounts to binary, and writes the new JSON
- The original
Mounts.jsonis never modified
See also: Species & Types — Species Swap · Talent & Genetics Data · Architecture