Hey Sloomingbla! Welcome to the forums!
In my experience with decompiling URW and modding in general, Sami has been super supportive and chill. When I did a deep-dive to find out how missile dynamics worked the other month, Sami was 100% cool with me posting my findings, which I'm very grateful for.
I wanted to know, what is it that stops people from creating their own custom creatures, cultures, in game balance and the like? Is it entirely hidden to the users, and if so what could possibly make it so hidden?
URW has a famously long development history, and is written in C/C++. The code has evolved over time, and you can see this in things like the item and recipe definitions, which can be easily modded. However many aspects of the game are still hard-coded in, with cultures and animals being part of this. Modifying those is hard, not because of any intentional efforts to make it hard, but just because that would normally be done in source code, rather than in configuration.
Being in C/C++ has an extra layer of challenge, as it doesn't decompile anywhere near as easy as, say, C#, which is what Unity games are written in. Modifying code for something like Rimworld of Kerbal Space Program is relatively straightforward, not only because the decompiler preserves most or all of the original names, but also because tools like
Harmony exist to make the process easier.
Having said that, it doesn't mean that more advanced mods to URW can't be done, just that they're not going to be as straightforward as you might expect. NIght's
Character Menu, for example, has identified a lot of values in the internal data structures, for example.
If you are looking at making binary edits or using code injection, do check in with Sami first. Not only is it polite, he's also genuinely lovely.
~ T