GDS UNGODLY MOD SUITE Installation Guide · by StixsworldHD (StixsmasterHD4k)

PART 2 OF 3 · THE FOREVER-GAME

Install UngodlyEndless v1.0.0

Game Dev Story quietly ends around Year 20: the Records screen freezes, the console timeline dries up, the finale plays once. UngodlyEndless reworks the entire post-game into a true forever-game — and it does it while keeping your save files byte-for-byte vanilla. Installation is one file.

The archive for this part

Contains UngodlyEndless.dll and its full README. Requires Part 1 (BepInEx 6 BE, IL2CPP, x86) to be installed and run once.

UngodlyEndless_v1_0_0_BepInEx6-IL2CPP-x86.rar

Download 41 KB

Installation, step by step

  1. Confirm Part 1 is done

    The game must have been launched once with BepInEx installed, so that BepInEx\interop\ exists. If you haven't, do Part 1 first — the plugin needs the interop assemblies that first run generates.

  2. Extract the plugin DLL into BepInEx\plugins\

    Open UngodlyEndless_v1_0_0_BepInEx6-IL2CPP-x86.rar. Inside its top-level folder you'll find two files:

    UngodlyEndless_v1_0_0_BepInEx6-IL2CPP-x86\
    ├─ UngodlyEndless.dll   ← copy this into <game>\BepInEx\plugins\
    └─ README.md            ← keep anywhere for reference — full manual

    Copy UngodlyEndless.dll to:

    <game folder>\BepInEx\plugins\UngodlyEndless.dll

  3. Launch and verify

    Start the game. In BepInEx\LogOutput.log (or the console, if enabled) you'll see the plugin announce itself:

    UngodlyEndless v1.0.0 loaded - pristine console capacity 30, ...

    At the title screen, press F7. The configuration window opens — solid, fully opaque background, six tabs. Until a save is loaded the Status tab reads "No game loaded yet"; everything goes live the moment a save loads.

    UngodlyEndless v1.0.0 window over the title screen showing the Status tab: session info, endless console market with 26 of 96 slots used, prestige level 0, and action buttons.
    The F7 window, Status tab. Tabs across the top: Status · Score Lock · Endless · Stats Curve · Prestige · Data + Help. The Actions row gives one-click Inject Console Wave NOW, Force Sidecar Save, Bank Prestige, and ending tools.

    The first launch also generates the fully documented config file — every one of the 47 settings carries min/max ranges and a plain-language gameplay explanation:

    <game folder>\BepInEx\config\stixsworldhd.gds.ungodlyendless.cfg

PART 2 COMPLETE

That's the whole install. Read on for what the mod actually does and how the pieces fit — or jump straight to Part 3: Real World Overhaul.

What it does — the five systems

UNGODLYENDLESS v1.0.0 — SYSTEM OVERVIEW
  1. Score Lock control. Choose when your Records (best-selling game, highest funds) stop counting: vanilla Year 20, any custom year from 1 to 999, or Never — records that keep climbing for as long as you play. The mod owns the game's one and only scoring gate (GameForm.GameEndYear) with zero patches on the scoring code itself.
  2. True Endless Consoles. The base game hard-caps its console tables at 30 slots and its last hardware launches land around Year 19–22. This mod performs live table surgery (the cap becomes 32–512, your choice) and keeps releasing brand-new console generations forever — on a configurable schedule, with configurable compounding stat curves for install base, license price, dev fees, running costs and popularity. Every machine is registered through the game's own hardware pipeline, so announcements, launch windows, license sales, popularity drift and discontinuations are 100% vanilla behaviour. Four naming themes (plus Mixed) name the new hardware, or supply your own via JSON (below).
  3. Vanilla-safe persistence. Your save files stay byte-for-byte vanilla; modded consoles and their live market state live in small sidecar JSON files per save slot. Remove the mod any time — every save still loads perfectly in a clean install.
  4. Prestige. End a legendary run on your terms: bank a configurable share of your empire (funds, fans, the Records hall-of-fame, genre/content mastery, optionally your endless-tech level), start a New Game, and the package is applied automatically with a compounding bonus per prestige level.
  5. Ending tools. Re-arm the Year 20 finale for a replay, or mark it as seen; the "seen" flag is remembered per save (even after replays) and can gate prestige for a classic post-game reward loop.

Sensible defaults, from the first session

Out of the box: records never freeze, a new console generation arrives every 2 years from Year 21 onward, every 4th generation includes one immortal "evergreen" platform, and prestige is gated behind seeing the Year 20 finale once. Everything hot-applies — tweak values mid-save in the F7 window, hit Save Config, and keep playing. The Status tab also offers manual controls: force-inject a console wave, bank or cancel a prestige package, replay the ending, or flush the sidecar to disk.

How your saves stay 100% vanilla

Around every save and load, the mod: captures each modded console's live market state into its sidecar record → swaps the enlarged tables for exact 30-slot vanilla copies (compacting the visible-hardware list and clearing point-map cells that reference modded slots) → rewrites any per-game console reference an unmodded game couldn't index → lets the game read/write its completely normal save → restores the enlarged tables and writes slotN.json. Prefix + postfix + finalizer hooks guarantee restoration even if the game's own save code throws. Uninstalling costs you only the modded consoles themselves.

Windows Explorer showing BepInEx config UngodlyEndless folder containing slot2.json, the per-save-slot sidecar file.
The sidecar in action: BepInEx\config\UngodlyEndless\slot2.json — one small JSON per save slot holds the modded console market. The save file itself, over in the game's saves\ folder, remains untouched vanilla data.

Files the mod writes

Path (under the game folder)What it is
BepInEx\config\stixsworldhd.gds.ungodlyendless.cfg The 47-setting config — every entry documented with ranges and gameplay notes.
BepInEx\config\UngodlyEndless\slotN.json Per-save-slot sidecar holding modded consoles + market state. Deleting one removes that save's modded consoles; the save itself is untouched and fully playable.
BepInEx\config\UngodlyEndless\prestige.json The banked prestige package, while armed. Deleting it discards the bank.
BepInEx\config\UngodlyEndless\UngodlyEndless.CustomNames.json Yours, optional — see below.

The prestige loop, start to finish

  1. Qualify

    By default, reach the Year 20 finale once on the save — or turn off RequireEndingForPrestige in the config.

  2. Bank

    Open F7StatusBank Prestige… and confirm. Your carry-overs are written to prestige.json and the package is armed. It survives game restarts and can be cancelled any time from the GUI.

  3. Restart

    Return to the title screen and start a New Game — any slot.

  4. Payout

    The moment the fresh run begins, the package pays out: banked funds plus Level × BonusPerLevelPct on top, fans, Records, mastery, and (optionally) the endless generation counter. The package disarms itself and a news line announces your new prestige run.

HONEST LIMIT

Research data points are intentionally not carried — the game doesn't expose them as a stable global the way it does funds, fans, records and mastery, and guessing wrong would risk corrupting runs. Everything the mod touches is a verified field.

Custom console names (optional)

Drop a file named UngodlyEndless.CustomNames.json into BepInEx\config\UngodlyEndless\:

{
  "Names": [
    "Dreamforge",
    "StixStation",
    "Hopewell 64"
  ]
}

Custom names are used first, in file order, before the built-in theme banks; duplicates against consoles already on the market are skipped automatically. Keep names to 24 characters or fewer.

Notes & limits worth knowing

Compatibility

PLAYS PERFECTLY WITH PART 3

GDS Real World Overhaul v1.0.1: fully compatible, any load order. Its console renaming keys off the vanilla hardware IDs, which UngodlyEndless never touches — endless consoles use fresh IDs that pass straight through its rename hook, while its renaming of the vanilla 26 keeps working normally. Its window is F6; this one is F7.

For other mods: UngodlyEndless patches only NewGamePara, LoadPara, LoadGameData, SaveGameData, MainProcess and EndingEnd — all as gentle prefix/postfix — and deliberately does not patch AddHard or HiScoreSave, the two methods other mods are most likely to touch. It was written against a full IL2CPP decompile and native disassembly of the live game build; every mechanism was verified in the compiled code before a single line of the plugin was written.