This is the first discovery module for an extender project, not a finished script extender or a confirmed game-specific UE4SS compatibility patch. UE4SS binaries are downloaded separately from the upstream project.
| Item | Observed value |
|---|---|
| Steam App ID | 2584270 |
| Steam build ID | 25133113 |
| Game directory | E:\SteamLibrary\steamapps\common\Sparta |
| Runtime executable | MortalShell2\Binaries\Win64\MortalShell2-Win64-Shipping.exe |
| Runtime size | 196,493,312 bytes |
| Runtime product version | ++Sparta-Depot+Main+CL93241+1339-CL-0 |
| Engine version | Unknown: diagnostic scan found no matching release markers or Build.version |
| UE4SS files | None found in the scanned inventory |
The small root MortalShell2.exe is consistent with Unreal's launcher layout.
Use the nested Win64 folder for the loader. The report also contains Unreal
IoStore-style .utoc/.ucas files; these do not establish the engine's minor
version or a need for archive extraction to run this probe.
The exact shipping executable SHA-256 is stored in build-profile.json for
future compatibility tracking. The Lua probe does not enforce this profile;
it uses generic reflected Engine types and no hardcoded game addresses.
-
Close Mortal Shell II.
-
Download the newest
zDEV-UE4SSZIP under Assets on the official experimental release page. Use the development binary archive, not GitHub's source-code ZIP. Keep its exact filename so we can identify the loader revision. This is a compatibility experiment, not an assertion that this release supports your game. -
Extract the archive contents into:
E:\SteamLibrary\steamapps\common\Sparta\MortalShell2\Binaries\Win64The current experimental layout places
dwmapi.dlldirectly in Win64 andUE4SS.dll,UE4SS-settings.ini, andModsinsideWin64\ue4ss. Preserve the archive's directory layout. If a destination file already exists, stop and report it rather than replacing another loader. -
Launch normally through Steam and reach the main menu. Close the game and check
Win64\ue4ss\UE4SS.logfor fresh startup output. Do not change the engine-version override based on a guess. -
If launch fails, the log reports unresolved core engine signatures, or no log appears, stop here and send the log (if any), archive filename, and symptom. Do not proceed with the probe until loader initialization succeeds.
For a reproducible first test, you can disable bundled gameplay/example mods
in the extracted Mods\mods.txt by changing their enabled values from 1 to 0.
Keep support folders such as shared and Keybinds, and keep the Keybinds
entry enabled if the archive includes one. If a bundled mod has an
enabled.txt marker, rename that marker to enabled.txt.disabled to disable it.
Record any changes you make. Do not replace the settings file wholesale.
-
With the game closed, copy the
MS2Probefolder from this package into:E:\SteamLibrary\steamapps\common\Sparta\MortalShell2\Binaries\Win64\ue4ss\ModsVerify the result is
Mods\MS2Probe\Scripts\main.lua. -
Open the existing
ue4ss\Mods\mods.txtand add this one line:MS2Probe : 1Preserve the other entries. Do not replace the file with just that line.
-
Launch from Steam and load into gameplay. The log should contain
[MS2Probe] BOOTand[MS2Probe] READYbefore any snapshot is requested. -
Once you control your character, press Ctrl+F8 once, with the game focused. The probe queues work on the game thread, inspects PlayerController candidates and their Pawn references, and prints object names and classes. The global object lookup can cause a brief hitch; there is no periodic scan.
-
Close the game and upload
ue4ss\UE4SS.log, together with the exact downloaded UE4SS archive filename. The useful probe section starts with[MS2Probe].
If BOOT is present but READY is not, send the initialization error. If a
snapshot is requested but never starts, send the log without repeatedly pressing
the hotkey. If no controller/pawn appears at the menu, retry once in gameplay.
- BOOT: UE4SS executed our Lua entry point.
- READY: the diagnostic hotkey registered.
- SNAPSHOT_BEGIN/END with object names: a queued game-thread inspection completed.
- Controller/pawn class names: candidates for the next stage of API discovery.
None of those alone proves that inventory, health, shell identity, events, or save-safe modification functions have been mapped. This module does not write game properties, spawn items, or claim a particular controller is the local player. Lua error handlers can report script errors; they cannot contain a native crash inside an incompatible loader.
To disable this probe, close the game and change MS2Probe : 1 to MS2Probe : 0.
To disable the newly installed loader, close the game and rename only the
dwmapi.dll added by that UE4SS archive to dwmapi.dll.disabled. Keep the log.
Do not remove unrelated DLLs. To remove the probe, delete its MS2Probe folder and
its single mods.txt entry after closing the game.
Lua 5.4 mock tests cover bootstrap, menu/no-player state, controller and pawn inspection, invalid references, per-candidate errors, queued-work deduplication, and error recovery. Those tests do not emulate Unreal memory or prove UE4SS compatibility. Windows and in-game testing are pending.
The test can be rerun from this package directory with Lua 5.4:
lua tests/test_probe.lua