hstone32 Posted November 18, 2025 Report Posted November 18, 2025 All APIs I've ever worked with communicate via strings sent over some online protocall, serial interface, or OS bus. Is it any different for Vintage Story's modding api? Are vintage story mods just binaries that communicate with the main game using json or yaml or some such? If so, could mods be written using any language? I ask, because for some reason, I tend to have a hard time programming in anything but C. Moreover, I've historically had a rotten time getting the .NET sdk enviroment workng on my linux computer. I'd love to make mods for vintage story, but I see myself losing interest if I have to write them using .NET.
The Insanity God Posted November 18, 2025 Report Posted November 18, 2025 Short answer: No it's not agnostic. Long answer: First of all there are 2 types of mods: 1. Content mods: these only contain stuff like JSON and PNG files. You can do a surprising amount of things with these (like custom entities, blocks, items, etc) but if you need real custom logic/behavior then this likely won't be enough. 2. Code mods: these actually contain a DLL file (don't ask why but the game also accepts uncompiled cs files, which it compiles itself) containing custom logic/behavior. The DLL is loaded through `Assembly.UnsafeLoadFrom` so it has to be a managed .NET assembly (meaning native C++ won't work) but you should be able to write it in C#, F#, VB.NET or even C++/CLI, though I doubt many (if any) have tried using stuff other then C#. (Technically speaking you could also create a bridge from .NET to lots of other stuff but it's not standard)
Recommended Posts