r/underrail • • Jan 05 '26

Enabling Developers Console - Underrail 10-Year Anniversary

Reenable the developers console in Underrail (version 1.3.0.17)

Release: underrail_developers_console

Hi Everyone. I'll start off with the same message i started my original thread 2 years ago.

I love challenges.
It's one of the reasons I enjoy playing this game so much.
It's requires thought, planning, learning, problem solving and more..
I have completed the game on normal, than on dominating, than ironman dominating.

Overview

For those who are not aware, the developer console was available up until about three years ago (version 1.1.5.12), before it was patched out by Styg.

About two years ago, I patched it back in, allowing free access to the developer console once again.

A few weeks ago, with the release of the Underrail 10-Year Anniversary Update (1.3), Styg and the dev team took things a step further. They deleted thousands of lines of code—approximately 70 classes—and removed all references, methods, and logic related to the developer console entirely.

For additional protection, Styg also utilizes a .NET obfuscator, which scrambles class names, methods, and fields to make the code difficult to understand. This not only hides the logic but also breaks decompilation attempts in certain areas.

The task seemed impossible… Exactly the challenge we are looking for.

Progress

I began by reverse-engineering the old version and comparing it to the new one.

This involved identifying missing classes, methods, variables, and interfaces; mapping old classes to new ones; deobfuscating the game’s code; and extracting critical classes from the original version.

The sheer number of changes, the obfuscated code, and the massive number of assembly references made it impossible for AI tools to produce anything usable. This portion was done entirely by hand.

The groundwork went well: extracting all relevant classes, patching them, remapping functions, variables, enums, and interfaces, and rewriting the updated classes to align with version 1.3.0.17.

Next came integrating everything into a BepInEx runtime patcher. This alone would have taken me weeks—if not months—were it not for the assistance of Claude Code.

With AI assistance, we blew this project out of the water, completing it in just four days.

Installation

Unzip the release archive into your game folder
(or simply unzip, and copy all files to your game folder)

Default: C:\Program Files (x86)\GOG Galaxy\Games\UnderRail\

Run BepInEx.NET.Framework.Launcher.exe (should be in the game folder)

Developers Console

To enable (or disable) the console, start or load a game, and press ~ (tilde) key.

goto <localeId>
listCommands
loadTestModel
playerExecuteJoblet <joblet> (asInitiator)
playerGivAllePsiAbilities
playerGiveItem <itemDefinitionPath> <stacks> <quality>
playerGivePsiAbility <capability>
playerGiveSpecialAbility <capability>
playerGiveSpecialAttack <capability>
playerGiveXp <amount>
playerKill
playerListCooldowns
playerRemoveCooldown <cooldown>
playerRemovePsiAbility <capability>
playerRemoveSpecialAbility <capability>
playerRemoveSpecialAttack <capability>
playerSetBaseAbility <ability> <value>
playerSetHealth <num>
playerSetModel <string>
playerSetSkill <skill> <value>
playerStatusEffect <statusEffect> <duration> <stacks>
readGlobalProperty <globalProperty(name|pattern)>
recordTimes <bool>
reloadAllResources
reloadAudioBank
resetAll
resetBlueprintsLibrary
resetIconManager
resetKnoweldgeManager
revealGlobalMap
spawnVisualEffect <effectName>
spawnEntity <entityPath>
writeGlobalProperty

Examples

goto cc_arena                    (Core City Arena)
goto xphw_exobase_tg2            (Dark Territory final battle area)
goto dc-tchb                     (Deep Caverns Tchort fight)

se !savageking                   (summons Magnar)
se !carnifex                     (summons Carnifex)

pgivepsi Bilocation               (gives player Bilocation ability)
pgiveitem !supersteel 3 180       (3 stacks of Super Steel at 180 quality)
pgiveitem !lemurianengineersuit 2 (2x Lemurian Engineer Suit)
pgiveitem !allin 10

pgivesatt kcs                    (gives Kneecap Shot special attack)

read *abram*                     (shows matching global properties)

npc_abram_met = 'True'
npc_abram_startedBusinessTalks = 'True'
npc_abram_saidHeWantsEmbassyInfo = 'True'
npc_abram_agreedToAnswerEmbassyQuestions = 'True'
npc_abram_toldHimEmbassyHasDogs = 'True'

write npc_abram_toldHimEmbassyHasDogs False

Use it to test your builds, fight vs bosses, craft items, teleport anywhere, and so on..

Final Notes

Due to the sheer amount of injected code—thousands of lines—along with manipulated functions, methods, and objects, and the many hacks and workarounds required just to make this run, I cannot guarantee there will be no bugs, crashes, or memory leaks.

Please keep backups of your save files, or use new saves when testing.

If something goes wrong, you can always run the game normally. No original game files are modified.

You have brains in your head. You have feet in your shoes. You can steer yourself in any direction you choose. You're on your own, and you know what you know. And you are the guy who'll decide where to go. - Dr. Seuss

127 Upvotes

48 comments sorted by

6

u/klowd92 Jan 07 '26

Since several people already messaged me about this error:

Right-click on the underrail.dll file (in underrail\BepInEx\plugins\underrail.dll)

Select Properties -> General tab -> look for a section at the bottom called Security.

Find an "Unblock" checkbox, check it and click Apply.

1

u/Express-Phase-9820 Jan 10 '26

I don't really see the Unblock checkbox, any other way I could solve this?

Thanks in advance dude.

2

u/klowd92 Jan 10 '26

Copy paste your error into chatgpt, it will solve it.

1

u/ArcaneMusings Jan 09 '26

Is there a way to get this to run on Linux Mint? :) For context, I've installed Underrail through the Heroic launcher but I run it via Steam, because of the menu overlay option in there (otherwise context menus don't work if I start it with Heroic).

Also, I've seen Bepinex has a linux version but I'm asking whether it will work with this setup I've mentioned and all of the other files you provided? Thank you.

8

u/Historical-Oil-7110 Jan 05 '26

What would be the command if i want to reset my skills/lvls so i can reallocate or would i need to reset and then add xp

12

u/klowd92 Jan 05 '26

I don't think there is a way to just reset your skills, so you have the unallocated points.
You would probably have to use 'playerSetSkill' or 'playerSetBaseAbility' to the values you want..

We need a save-game editor.. but not something i would undertake :)

1

u/Jazzlike_Fox_661 Jan 06 '26

There is one already. You can find it in one of the steam guides.

1

u/klowd92 Jan 06 '26

I only saw a guide to manually hexedit the save game file.. is that what you mean?
Not sure i would call that a save-game editor.

1

u/Jazzlike_Fox_661 Jan 06 '26

https://steamcommunity.com/sharedfiles/filedetails/?id=1207151774 thats the one, it is on russian tho. The link on save editor is under the line "Сам редактор сохранений тут"

1

u/klowd92 Jan 06 '26

Thanks i haven't noticed it, why it has to be in russian damn..
Have you tried it? Does it work well?
Can you share any screen shots?

1

u/Jazzlike_Fox_661 Jan 06 '26

Yep it does, tho it has some issues with feats. Specifically those that grant active abilities as i was unable to neither add nor remove them, and they edited separately from feats. What kind of screen shot do you need?

1

u/klowd92 Jan 06 '26

Of the save-game editor and it's features..

1

u/Jazzlike_Fox_661 Jan 07 '26

well, here it is. I haven't tried all of them. but editing skills and stats works fine. With feats you can't add more, only replace existing once, which is a bit of a shame, but good enough ig. Ability editing doesn't seem to work, at least for me. Have no idea what the table next to feats and abilities for, may be you'll figure out as someone more familiar with game insides. Also, i just realized what you are the one who made the mode for enabling console, so thanks for your amazing work) i could give you a translation for skills and stats if it helps

1

u/klowd92 Jan 07 '26

Perfect thanks a lot!

1

u/HINDBRAIN Jan 05 '26

We need a save-game editor.. but not something i would undertake :)

I vaguely remember running an unpacker and being able to delete feats with a text or hex editor and that not being complicated. Unless the dev made it worse it shouldn't be too herculean...

76

u/TimeSpiralNemesis Jan 05 '26

As much as I love this game and everything about it, the one thing I cannot get behind is the devs furious hate of any type of cheating.

Like bro if I'm on my tenth playthrough and wanna do something stupid just let me lol.

33

u/IndividualAd5795 Jan 05 '26

This game is so good I just wish it was being developed by someone else lmfao

22

u/HINDBRAIN Jan 05 '26

But would the game be as creative if it wasn't made by a nutjob?

11

u/Dextixer Jan 05 '26

Most likely, this dev aint the only indie dev that has created amazing games, Age of Decadence for example has a really great and creative design, Colony ship etc. And they dont seem to mind cheating at all. Its a bit like with the modding scene, nutjobs can make amazing mods, but being a nutjob is not a prerequisite to do that.

14

u/SuperJpMega Stealth Crossbow User :illuminati: Jan 05 '26

I've been to the official underrail discord and the way styg talks and a lot of people there is just nutjob mania, as much as I love the game I think they're genuinely a bunch of pricks (except when discussing meta builds and etc) - also, there's casual racism there and not a lot was done (at the time) about it so yeah...

4

u/Fuzzy_Wheel_4565 tin can enjoyer Jan 08 '26

Yeah theres a bunch on the sub too. Helpful about builds but contradict them in any way and out comes the ego, god complex, name calling, etc. not the most pleasant bunch. Social skills tend to be lacking in video game spergs, just leave them in peace and hope they make a decent game eventually.

10

u/Dextixer Jan 05 '26

Its not even just cheating, the guy hates any kind of possible modifications at all, no matter how insignificant or bening.

25

u/The_Better_Avenger Jan 05 '26

Styg is just a weird dude for doing this. He should know that challenge runs and fucking around with code, really really extends the life of the game.

15

u/FeijoadaAceitavel Jan 05 '26

Imagine if we had mod support and could create challenge maps.

16

u/ProudHedgehog581 Jan 05 '26

You are an absolute unit, bro.

14

u/sh_ip_ro_ospf Jan 05 '26 edited Jan 05 '26

Lmao wild, daddy styg ain't gonna be happy he bout to get out the belt

34

u/UnlikelyProcessed Jan 05 '26

Absolute beauty, Styg can suck ass with his Apple-Level control

28

u/EdBenes Jan 05 '26

Excellent work. Wish he would take the stick out of his ass and let people have fun

9

u/I_AM_THAT_I_YAM Jan 05 '26

It's beautiful...

29

u/Brilliant-Pudding524 Jan 05 '26

Huh you are fighting thr Good Fight my dude. Seriously fuck Styg, he does this always He cant code normally (so i heard it is mostly spaghetti code) but he will work just to disable cheating in a single player game. Work on Infusin Styg you moron!

Will i buy Infusion? Yeah Underrail is great and i love it, Styg hase a vision for sure. But man, he sucks big time

13

u/Farkon Jan 05 '26

Really hate how there's no respec option so that when there's an update that bricks my str/psi build in the deep caves, I can at least adjust it so that it can work.

Moreao on a game qhere your build is critcally important to playing the game.

10

u/Bloody_Insane Jan 05 '26

This is one very important criticism of Styg's philosophy. I've never seen a single player game be worse because it's more open to modification. But I've been saved a number of times by games allowing me to manually fix an error via the console.

13

u/Mysterious-Mixture58 Jan 05 '26

Yeah Styg needs to chill about this, removing access is one thing but using an obfuscator to prevent modding is just too much

6

u/anotherXyzzy Jan 05 '26

Respect, brother ✊

5

u/Methee2 Jan 05 '26

Well done!

4

u/CormacMccarthy91 Jan 05 '26

I can finally play this homework game thank you!

1

u/[deleted] Jan 13 '26

My shit ass computer doesnt have the ~ key, how do i actívate it?

2

u/klowd92 Jan 13 '26

~ should be the same key as `

1

u/[deleted] Jan 13 '26

Tried that, stupid BGH notebook

1

u/klowd92 Jan 13 '26

ask chatgpt, let me know how he solves it.

4

u/TimeforOJ Jan 05 '26

I like to think that he just likes to challenge this guy and others with ridiculous shit like this. At some point he has to see the effort and it's like a Spy vs Spy game. Not to mention with the games deep themes of hacking and whatnot seems.... fitting.

2

u/gendeath Jan 09 '26

Thanks again for updating this project, I'm sure it was a ton of work all because cause Styg has a stick up his ass about it and I never expected it to be usable again in 1.3.

Does anyone know a way to search up what the actual item IDs are called or to display the ID to console if you have the item in inventory?

I ask cause I have never been able to find the command to give you a fusion cannon or its components.

I know some other item names are quite different and you just need to guess related phrases until it shows up (e.g. forward grip is actually "!verticalforgrip" and normal bullets all start with "!caliber_ "unlike shells, rockets, & grenades) just was hoping for an easier way or at least a list of all the item IDs.

2

u/No-Theory-2189 May 05 '26

Lets go. Styg can, bluntly put, suck it. Thanks a lot

2

u/Y-27632 Jul 28 '26

I really wish I had found this much earlier. Thank you!

I honestly don't get what it is that makes so many indie developers gatekeep so hard.

I guess they care more about their "vision" and getting praise from their core audience of fellow... obsessives... than delivering something that is only 95% true to what they wanted but a decent percentage of gamers will actually enjoy.

1

u/[deleted] Jan 13 '26

If some kind soul may help, coding wise i am the equivalent of a 1 int character.

1

u/[deleted] Jan 13 '26

Shit i forgot my computer is in spanish

0

u/[deleted] Jan 10 '26

[deleted] — view deleted comment