Stellar Tool 0.6.6 introduces a major expansion of the Stellar Souls Builder and several improvements across the application.
The Builder now supports more detailed customization of combat, progression, economy, enemies, mini-bosses, outfits, attributes, ammunition, consumables, gauges, fishing, healing, and other gameplay systems. Mini-boss settings can be configured independently by region, including density, health, attack power, size, shields, drops, experience, persistence, boss behavior, and execution immunity.
This version also adds advanced Builder presets that can be saved, loaded, deleted, exported, and imported as .stpreset files. Presets preserve the complete configuration, including advanced attributes, mini-boss settings, outfit behavior, and world progression changes.
Additional improvements include:
The release is distributed as a self-contained ZIP containing the application, Qt runtime, Builder engine, and required external tools. Extract the ZIP and run StellarTool.exe; no separate installation is required.
- New world and progression options for shop prices, enemy and chest drops, SP experience, EVE upgrade materials, and fishing.
- Improved outfit and Skin Suit behavior, including CNS restore modes and the new ALPHA-without-helper option.
- Better handling of shield-break effects, shield regeneration blocking, camp FX restoration, and outfit restoration timing.
- Improved CNS Converter support for ZIP, PAK, UTOC, and folder inputs.
- Improved CNS ID Fixer diagnostics, duplicate Container ID handling, backups, and Package ID conflict reporting.
- New English and Spanish translations for the latest Builder features.
- Improved update handling, installation cleanup, and detection of leftover or ghost paks.
- Better validation and compatibility checks when building or installing mods.
- Updated Builder documentation and feature definitions.
All about surfacing what actually went wrong, thanks to a user running Stellar
Tool on Linux through Proton who dug out the real causes.
New: errors from UAssetGUI are now shown to you. UAssetGUI is a WinForms app: it
never prints anything to the console, not even when it fails, which is why the
Builder's errors always ended with an empty "salida=". It reports through a
message box and leaves the text in the clipboard. The Builder now reads the
clipboard when a table fails and includes that text in the error.
Fixed: the startup check added in 0.6.4 was invoking UAssetGUI with incomplete
arguments, which made UAssetGUI try to open a file literally named "fromjson"
and pop up a dialog. It now runs a real conversion of a small bundled table
instead, which takes under a second and proves the whole chain works: .NET
runtime, Windows fonts, usmap.
New: on Wine/Proton, Builder errors now include the commands that fix the two
known blockers, fonts included:
protontricks 3489700 micross
protontricks 3489700 dotnetdesktop8
protontricks 3489700 dotnet8
(3489700 is the Stellar Blade prefix; use your own appid if you run Stellar Tool
in a different prefix.) Without the font, UAssetGUI dies while drawing and does
nothing at all, which is easy to mistake for a Builder bug.
Fixed: "Oodle not found" always claimed Stellar Blade could not be detected,
even when it had been detected and only the DLL was missing. The two cases now
read differently and each says what to do.
Fixed: the merge side (CUE4Parse/retoc) kept failing with "oo2core_9_win64.dll
not found" for people whose game the tool could not locate, and its message was
in Spanish no matter what language you picked. The 0.6.4 search fixes only
landed in the Builder; the merge side now does the same: case-insensitive name
matching, more folders inside the game (Engine and ThirdParty\Oodle included),
and the message is translated and lists every folder it looked in, so you can
see what to fix.
New: Settings > Oodle. If auto-detection fails, point the tool straight at
oo2core_9_win64.dll and it stops guessing. The DLL is still never bundled: its
licence forbids it, and your game install already has one.
Everything from 0.6.4 is included.
Version 0.6.4
Better failures in Stellar Souls Builder, mostly for people running Stellar Tool
on Linux through Wine or Proton.
Fixed: the build could stop with "oo2core_9_win64.dll (Oodle) not found" even
though the DLL was there. Oodle is read straight from your own game install, and
the search compared file names letter by letter. On Linux the filesystem is
case sensitive, so a copy named oo2core_9_win64.DLL was invisible. The search is
now case insensitive, looks in more of the usual folders, and runs once per
build instead of once per table.
Fixed: "fromjson did not write <Table>.uasset" always blamed a missing FName,
even when UAssetGUI never started. It now reports the exit code, and under
Wine/Proton it tells you the real cause: UAssetGUI is a .NET app and needs the
.NET runtime installed in the prefix (winetricks dotnetdesktop8, or dotnet48 for
older UAssetGUI builds).
New: the Builder checks that UAssetGUI can actually run before it starts. If it
cannot, you get the message in about a second instead of after several minutes
of extracting baselines and compiling tables.
New: if UAssetGUI fails to write a table, the Builder retries that table once.
UAssetGUI fails intermittently, and one retry saves the whole build.
If the DLL is missing from your game folder, you can now also drop
oo2core_9_win64.dll into the tool's tools\ folder or set STELLAR_OODLE_DIR to
the folder that holds it. It is never bundled: it is proprietary.
Everything from 0.6.3 is included.
Fixed a Builder error that could prevent SkillTable.uasset from being created when using Perfect Dodge without lock-on.
The Builder now repairs each table’s NameMap before serialization, preventing this FName-related UAssetGUI failure.
“Baseline: Pending” is not required for standard Builder options. If an option needs a missing vanilla table, Stellar Tool stops and asks for the game folder instead of making an incomplete mod.
Fixed: the tool tried to download Oodle from GitHub (hang/error in China or offline)
The bundled retoc and CUE4Parse helpers need oo2core_9_win64.dll (Oodle). When
they could not find it, they silently tried to download it from GitHub at build
or import time. On networks where GitHub is unreachable (China, offline
machines, strict firewalls) that download hangs and then kills the operation
with a connection error, for example:
RuntimeError: No se pudo extraer CharacterTable ... ureq error Transport
... github.com ... oo2core_9_win64.dll ... TimedOut
The DLL was never actually missing: your Stellar Blade install already ships it
in SB\Binaries\Win64. The problem was that retoc only looks for the DLL right
next to its own exe and ignores everything else, so even placing the DLL in the
tool's folder by hand did not help.
Stellar Tool now copies oo2core_9_win64.dll from your own game install to the
right spot automatically, every time it runs retoc or CUE4Parse. Nothing is
downloaded, no internet connection is needed, and this works regardless of
where the game or the tool are installed.
If the DLL cannot be found at all (no game folder selected), the tool now
fails immediately with a clear message telling you what to do instead of
hanging on a download: select your game folder in Settings, or copy the DLL
into the tool's tools\ folder, or set the STELLAR_OODLE_DIR environment
variable.
Everything from 0.6.1 is included: UTF-8 handling for non-English Windows and
clear errors when a baseline cannot be extracted.
0.6.1 fixes builds that crashed on non-English Windows.
Any build that extracts a vanilla table from your game install (Hardcore Enemies and the other options that need a writable baseline) ended with TypeError: can only concatenate str (not "NoneType") to str on systems whose Windows language is not English — Chinese, Japanese, Korean and others. The tool was reading retoc/UAssetGUI output with the system code page instead of UTF-8; one undecodable byte killed the reader and the real error was lost, leaving only that message.
Now everything is read and written as UTF-8 regardless of Windows language, and the Builder's Python runs in UTF-8 mode, so game folders with non-Latin characters work too. If a baseline still can't be extracted, the tool tells you why — missing Oodle is reported up front, and failures include the exit code and the tool's actual output instead of a dead end.
English-language setups are unaffected: no gameplay or feature changes since 0.6.0.
CNS Converter
Convert outfit mods replacer ↔ CNS, both ways, from its own section in the app. Feed it a .zip, .pak, .utoc or a folder — the input mod is never modified.
The output is a ZIP that installs with Vortex as-is; the intermediate working folder is deleted once the ZIP exists.
Persistent history of your conversions, with a shortcut to each output folder.
Converting to replacer lets you choose which outfit gets replaced, and which variant to use when the CNS mod ships several.
Headless: --headless cns y --headless replacer.
CNS ID Fixer
Scans a folder of IoStore mods and reports duplicate Container_Id values — the usual reason two CNS outfits refuse to load together.
Fixing keeps the first container and gives the duplicates deterministic IDs. Every file it writes is backed up first as <file>.cnsidfixer.bak.
Package_Id conflicts are reported but never modified: changing those breaks the mods.
Builder
New opt-in ALPHA: restore outfit during QTEs/cutscenes (no helper). Off by default, not yet confirmed in-game.
Includes everything from 0.4.3: Cancel button with full rollback, output folder outside the game.
0.4.0
Zen mods now merge completely.
Mods from Nexus ship as Zen/IoStore containers. Until now the tool could only
read them through CUE4Parse, which gives a normalized view: some changes were
invisible, and anything that wasn't a DataTable — animations, AnimBPs, skeletons,
meshes — was dropped from the merged pak entirely. If you then disabled the
source mod, those mods stopped working.
The tool now rebuilds the game's script-object container in the version mod paks
use, which lets it convert a Zen mod to legacy assets and read it raw, exactly
like a legacy mod. Measured on Scarlet Moveset: 1151 -> 1524 changes detected,
EquipmentTable 37 -> 54 applied, SkillActiveStepTable 647 -> 905, SkillTable
302 -> 341, and the 6 animation assets that used to vanish are now inside the
merged pak. The merge is self-contained again. Nothing to configure: it needs
the game folder, which Zen mods already required.
Merge report tells you what happened.
Per mod: how many changes it contributed and how many were selected, with an
explicit flag when a mod contributes nothing. Plus a section listing any table
that had changes but ended up with none selected, and why — lost a conflict,
duplicate of another mod, or unticked. A table can no longer disappear silently.
Automatic updates.
On startup the app checks GitHub for a newer release and offers three choices:
update now (downloads, extracts and relaunches), later (asks again next boot),
or skip this version. Turn the check off or run it by hand in
Settings -> Updates.
Stellar Souls Builder.
- Tumbler healing is now a separate option with any level from 10% to 100%.
- Quantified extras and presets; incompatible options now ask which one to keep
instead of silently overriding.
- Advanced internal quantity controls, localized.
- CNS outfit behavior now sits directly under the Skin Suit on shield break
checkbox instead of at the bottom of the form.
- New ALPHA section: six test builds of an outfit-restore helper that works
WITHOUT CNS, for players using replacer outfits. They target the boss-QTE case
where EVE stays in the Skin Suit after the shield repairs. They are ALPHA, not
BETA: unconfirmed in-game, install one at a time, and each writes a log to
%USERPROFILE%\StellarSoulsVanillaRestore.log.
Two things from MrZzzzzzzzzzzzz's feedback.
Adding or removing a mod forces a fresh analysis, and that was throwing away
everything you had already decided: unticked changes, values you edited by
hand, and conflicts you had resolved. All of it is kept now. If the mod that
won a conflict is removed, that conflict simply goes back to unresolved.
The mod list can now show which tables a mod actually contains - click
"Tables" on any mod. The changes list only shows tables that differ from the
base game, so until now there was no way to see the full contents of a pak.
Worth pointing out, because it is easy to miss: the Conflicts page already has
a button per mod that gives that mod every conflict at once. If you want one
mod to win across the board, you do not have to click through them one by one.
And to be clear about the earlier problem: tables going missing from your merge
was the bug fixed in 0.3.12, not something you were doing wrong. You do not
need to add clean copies of the other tables to keep them - the merge keeps
every table the mods bring.
Two merge bugs are fixed, both found from a report by MrZzzzzzzzzzzzz who sent
in his mod and merge report - thanks for that.
If you ever saw "does not round-trip faithfully" and a table being left out of
the merge, that was this. Two separate causes, both fixed:
- When a mod CLEARS a name field that the game table had filled in, that empty
value was written in a form the serializer does not read back the same way.
The table was built with a wrong value, failed verification, and was dropped.
- Some game tables store an enum as a numbered internal name. Stellar Tool
could read those but not write them back, so the table could not be rebuilt
at all - it failed even with no mod changes applied to it.
On the reported merge, this is the difference: SkillActiveStepTable went from
excluded to 647 changes applied, CharacterStanceTable from excluded to 24, and
the merge now finishes with every table included and verified. Checked against
the untouched game files, the merged tables are identical to vanilla except for
the mods' own changes.
Also: the warning shown when a table is excluded now states the real reason
instead of claiming none of its changes could be written.
If a table still gets excluded after this, send me the merge_report.txt - that
is a case worth investigating, not a dead end.
Help keep AyakaMods servers running. You can now purchase Premium securely using credit cards via Patreon.
🔥 Lifetime Premium is available for a limited time! Expires October 9th, 2026.