The current state of modding No Man's Sky
As a modding plebian myself who has been sat in the No Man’s Sky mod author Discord chat all week trying to keep up with all the mod authors, let me try and break it down for those of you who, like me, aren’t particularly technically gifted in this area.
Unpacking the files
Pretty much all of No Man’s Sky’s assets are packaged in Sony’s proprietary format, “PSARC”. These have been labeled as “.pak” for No Man’s Sky. If you have the game installed you can see these yourself by going to your game folder, then to “GAMEDATA”, then “PCBANKS”.
PAK files are pretty much like file archives that contain lots of files within them and they’ve been around since the Playstation 3 days. A strong pointer that NMS was designed with the Playstation in mind.
Since PAK archives have been around for quite a while now, tools have been made for other games that allow users to extract the contents of these archives. One such tool is “PSArc”. Thankfully, these same tools can be used on No Man’s Sky’s PAK files to decompress and extract their contents, and some users have even made tools that can simplify the process further.
However, successfully being able to extract the files is only the first of many steps on the way to being able to mod the game.
Inside the PAKs
Once extracted, there were two important questions for the first modders. One, can any of the extracted files actually be opened or edited and two, if they can be edited, will the game actually recognise and use the edited files rather than falling back on unaltered files or crashing?
Thankfully, the answer to those questions is yes (to a degree) and yes.
Once the PAK files are fully extracted a number of folders and subfolders are created, filled with files called MBINs. I’ll come back to MBINs in a minute. There is also an Audio folder filled with files called WEMs and a Textures folder which, thankfully, is filled with DDS files.
WEM files are audio files that can be converted into other formats. As a result, sounds within the game can be edited.
Similarly, DDS (DirectDraw Surface) files are a standard format that can easily be converted and edited by commonly available software.
Unfortunately the MBIN files, which contain the real guts of No Man’s Sky’s engine including the scripting, configurations and so on and so forth are, to quote one of the guys working with them, “annoyingly serialized binary XMLs” (thanks ant2888).
MBINs
So we’ve established that some textures and audio files can be found and edited relatively easily, but what about these MBIN files that contain the real guts?
Due to the fact these files are highly serialized and there’s no commonly available method for decrypting them, right now, MBIN files are presenting a barrier to further modding of the game.
However, all is not lost.
Several very, very clever individuals are working hard to try and create a tool that will help in decrypting the MBIN format. They’ve had some success thus far decrypting certain MBIN files and as a result, it’s more a matter of time and effort before all the MBIN files are decrypted than anything else. It’s seriously frustrating, time consuming trial and error work that ultimately lets these guys build “templates” that can then be used in decrypting the MBIN format.
Where they’ve had success, it’s helped mod authors to create some of the more advanced mods that are currently available for download. Thanks goes out to community members emoose and spAnser who are leading the push on this front.
Because MBIN files are basically encrypted XML files, once the MBINCompiler tool can decompile a specific MBIN, mod authors can view the contents of the XML file. Even though that XML file cannot be edited (as XML) and then recompiled (yet), it gives the mod author a lot of help in finding the correct locations to edit the original MBIN with a hex editor. Yep, NMS mods that aren’t texture or sound related right now involve hex editing.
Some mod authors are even clever enough to take matters into their own hands and do some serious trial and error on MBINs that cannot be decrypted by the tools yet. That’s next level stuff.
Packed or Unpacked?
In order to create mods for NMS yourself, you have to unpack the contents of the PAK files into the GAMEDATA folder. However, if you simply want to download and use other people’s mods, then it can be a lot simpler.
If a mod author provides their mods in PAK format, all you need to do is overwrite the current PAK in your PCBANKS folder with the one provided by the mod author. However, modders worked out very quickly that if they rename the PCBANKS folder, in which all the PAK files are located, then NMS will actually run the game from the loose, unpacked files in GAMEDATA instead.
As such, there are actually two different ways in which the game will accept modifications and thus, two different ways in which mod authors can provide their mods to people who want to download and use them.
There’s the aforementioned “packed” method, and then there’s the unpacked method. The unpacked method involves editing the “loose” and unpacked MBINs, DDS and WEM files directly in the GAMEDATA folder. The inherent problem being that in order for these edits to work for other users, they need to have unpacked their PAK files as well. This is currently a bit of a barrier to entry for most users, simply because most users can’t be bothered (or don’t know how) to unpack their game contents.
As a result, “packed” mods require a little more effort to create than “unpacked” mods from mod authors, and some mod authors simply prefer to provide their mods “unpacked”. If you’re running packed, and want an unpacked mod, you can just pack it up yourself however. And vice versa.
Mod Manager support
Since finding out about modding for NMS and opening the Nexus site, we’ve been working on getting basic Nexus Mod Manager support out for the game. Unfortunately, both our NMM programmers are currently on holiday until the end of the month -- booked before the game was delayed.
One of those programmers has taken time out of their holiday to get the basic rudimentary support for No Man’s Sky mods done and completed. Right now, our test version of NMM can download and install mods from the site (or mods downloaded from other sites), and place the file in the right directory depending on whether it’s packed (e.g. a PAK file) or unpacked (e.g. loose WBIN/WEM/DDS files), provided the mod author is packaging their mods properly using the correct folder structure for where the file should be placed within the GAMEDATA folder.
However, because of the complexities of modding NMS, particularly in regards to the Packed or Unpacked issue mentioned above, we want to make the mod manager support for NMS a bit more robust than that before we release it.
To that end, a couple of folks from within the NMS community are currently helping us to provide a better mod manager service for NMS modding. Once completed, the mod manager will completely negate any issues presented by the Packed vs Unpacked issue, ensuring that no matter how a mod author wants to distribute their mod, it will still work without any additional effort for mod users.
We think this is a decent quality of life balance that not only ensures mod authors are free to distribute their mods how they like, but also ensures there’s less of a divide and barrier to entry for casual NMS mod users who perhaps can’t or won’t understand the complexities of packing and unpacking NMS mods.
Final words
I’ll obviously update everyone once we think that support is ready for general use, but until then, please provide some praise to members within this community who are dedicating many sleepless hours poking and prodding the MBINs, looking for ways to unlock further modding potential out of the game that, more often than not, ends up benefiting all of us.
If you're interested in trying your hand at modding No Man's Sky then your best port of call is the No Man's Sky modding wiki, which will help you getting started. You should also make yourself known in the modder's Discord Chat server where, I can tell you from experience, the authors that are already there are more than willing to help answer any questions and share their tips with others.
40 comments
Comments locked
A moderator has closed this comment topic for the time beingWelp. It isn't my time that goes down the drain. Happy modding.
I feel sorry for the PS4 users who won't ever get a chance to mod their game to at least make the game something a little bit better than it has turned out to be. The recent 1.0.3 patch for NMS has helped with a lot of the complaints the PC gamers had about NMS, I look forward to when you creative folks are able to make awesome expansion-style mods for this game. This game has a very good base to build on, it's just a matter of adding to it, there's so much potential here.
Thanks a lot for this post, very informative!
Very familar with PAK files, having done quite a bit of content ripping on PS/DC games ;-)
Nice post - looking forward to further progress. Might give me incentive to buy NMS once again.
Almost, they need to add the ability to terraform the planets, that would be awesome.