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.json file — 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 Variation IntProperty 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

  1. Select a target from the "Change to:" dropdown — only same-category creatures are listed (e.g., mount→mount)
  2. Review the preview that appears below:
  3. 📖 Bestiary name in bold blue with the creature's category
  4. 📊 Talent compatibility — total talents, shared count, and lists of talents that will be lost or gained
  5. Italic lore text from the game's bestiary description
  6. Hover over the lore text to see the extended Lore2 tooltip (available for 21 of 26 species)
  7. Click "Swap Species…" to open the confirmation dialog
  8. Review the detailed summary showing all fields that will change and talent point impact
  9. 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
  • MountIconName is 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

  1. Make edits across any combination of tabs
  2. Click 💾 Save As…
  3. Choose a filename (defaults to Mounts_edited.json)
  4. The editor collects all pending edits, re-serializes all mounts to binary, and writes the new JSON
  5. The original Mounts.json is never modified

See also: Species & Types — Species Swap · Talent & Genetics Data · Architecture

Back to Docs