The wiki has been moved: https://wiki.step-project.com/NMS:Landing_Page
This is a community effort to document the technical aspects of No Man's Sky's internal workings as well as acquaint aspiring modders with all of the possibilities of what you can do with the game!
Modding No Man's Sky is also an on-going research effort and, as such, many pages will change over time as Hello Games, creators of No Man's Sky, release new patches and as various mod and tool authors publish new ideas and techniques.
Research work is paramount to the continued existence and improvement of mods; as many aspects of No Man's Sky remain hidden away behind untested properties and attributes that cannot be understood without trial and error. As such, experimentation is necessary to learn more about these unknown aspects and interactions of the game.
Listed within the current state of modding article is what can and can't be done, so far as we're presently aware. Within that article are links to places you can contribute findings and find tools that you may help develop further.
If you are willing to assist in advancing research of the game's internal mechanics, please update this wiki with findings as well. We are looking for adventurous individuals to experiment on some of the more obscure aspects of what modding has revealed so far. Hit us up in the NMS Modding Discord channel, and thanks so much for reading this far!
If you're completely unfamiliar with modding, check out the Getting Started tutorial! If you've read through Getting Started and want to get right into something quick, you might try your hand at Adding new buildable objects. This can give you a first taste of what it's like to make a mod, and the interconnected nature of files within even a relatively simple mod. Once you've read both of those entries, and in case you've not followed their links, you might check out Compiling Mods, which covers the basics of putting together your mod after you've finished adjusting all the files related to your mod.
All the tools necessary to follow these tutorials can be found below in Modding Tools.
- Getting Started - this tutorial will help you setting up your modding environment
- Adding new buildable objects - this tutorial will allow you to add a custom object to the game building menu
- Importing Custom Models - this tutorial will help you importing your own 3D models
- Adding/Replacing Audio - this tutorial will help you replacing the game sound effects
- Merging Two Mods - this tutorial will help you combine two mods
- Compiling Mods - this tutorial will help you compiling your mod so that it is ready to be used and distributed
- Test mods rapidly without having to frequently repack files via Unpacked Mode!
- Enabling objects for snapping
- Referencing another SCENE from a SCENE
- Adding new technologies
- Adding new products/substances
- Adjusting Terrain Generation in Real-Time
- Adding new base building items
- Shader modding - Vulkan (NMS2.0+) or GLSL (NMS1.0 to 1.77)
- Entity modding:
- Creating complex LUA modding automation scripts with AMUMSS tool (auto creation of ColorPalettes, ProcGen code, custom Biomes, BaseBuilding tables, products)
- NMS Modding Station - A little helper for creating mods for No Man's Sky. This tool was created to ease up the process of putting a mod together. Its primary aim is to cut down on some of the steps that are currently being done by hand but can be accomplished programmatically, such as repacking modified MBINs. Note: it has PSArcTool built-in!
- PSARCTool - this handy tool will allow you to extract the PAK files No Man's Sky stores all of its assets and data in.
- MBINCompiler - the quintessential tool for decompiling the encrypted serialized XML, i.e. MBIN files No Man's Sky formats all of its configurations in!
- No Man's Model Viewer - explore the original models and model arrangements (i.e. layouts) shipped with the game! Note: original source code is here, with notes on usage & keyboard shortcuts in the Wiki tab.
- NMS Blender Export Plugin - the only tool that makes importing custom models possible!
- NMSE (No Man's Sky Script Extender) - similar to script extenders in games like The Elder Scrolls: Skyrim, new functionality can be added through NMSE via external scripting.
- Auto mod builder - updater- mod script system (AMUMSS) - Revolutionary No Man's Sky auto modbuilder and updater with lua script mod definition system.Fully automatic mod builder that automates every step of nms modding and provides an easy to use lua script mod definition system. For existing mods you can create a lua mod defintion script (like a cooking recipe for mods) and drastically lower the chance of your mod breaking due to updates. Can also merge mods together.
- XMM - Mod Merge - DEConflict Mods - Fix Mods - Edit Sort and Merge
- NMS-MCDAMM - a little No Man's Sky Mod Conflict Detector and ModManager --- edit - compare - merge
- VR mod enabler - to be able to run mods in VR.
- NMS UI visualizer - WIP
- No Man's Audio suite - WIP
- More Tools not listed here
- NMS Annotation Script Generator - these two generators, one for products, tech, & substance tables, and the other for the various mission tables of the game, create scripts that when run annotate the tables with translations from the localization tables for their various localization ids. This makes reading over these different tables significantly easier than jumping back & forth between them and the localization tables.
- NMS Reward Allocator - this tool allows one to add either preexisting rewards, or custom rewards, to every interaction of any set of existing interactions in the game. E.g. this enables one to quickly add a reward to all Korvax/Vy'keen/Gek Operations Centres or Manufacturing Facilities, as well as any others.
- Cheat Engine - a powerful tool for adjusting games in real-time by accessing how they're loaded into a computer's memory. However, it's important to remember that these changes are only for as long as the game is loaded, and must either be saved & reloaded alongside Cheat Engine each time (via CheatTables) or copied over to related game files to create a mod. It's this latter approach, making live adjustments and converting the results into file-based mods (i.e. recompiled MBINS, packed into .pak files), where one may find the most value in using Cheat Engine with No Man's Sky. Nevertheless, there are some situations in which the only real way (as of writing) to share one's changes may be to distribute CheatTables, and one will have to discern these situations for oneself. You can find more details about Real-Time Adjustments below.
- NMS Savegame editor - Tweak your savegame values the easy way. Comes also with a raw edit mode.
- NMS Location Manager
- No Man's Connect - Online Location Manager
- Save Editor by Raxdiam (outdated)
- NMS Online Seed Database
A list of all internal names for things in game can be found in the Reference Table.
For all the commands and object types supported by the model importer see this Reference Guide.
Some basic information about the input system is collated in the Input Actions Reference.
A list of all the exosuit voice files with their WEM IDs can be found in the Voice Reference Table.
For more advanced modders, one may find the game's different file types with descriptions below, alongside details on using CheatEngine for making various adjustments to the game.
Game File Types and Associations
Game Assets and Objects (SCENEGRAPHS) come in different file types. A fairly comprehensive list can be found below:
- SCENE files - similar to a prefab and holds information about in-game objects all the way from models, behaviors to audio, particle effects and more.
- ENTITY files - the MBIN that defines interactions and behaviors of objects.
- GEOMETRY files - the format in which 3D models are stored in
- MATERIAL files - defines the texture maps and shader flags to be used
- DESCRIPTOR files - handles the nested hierarchies of procedural generation in-game
- ANIM (Animation) files - (minimal research on this currently)
- LSYSTEM files - a facet of procedural generation that introduces more control with custom rule sets on procedural objects in-game, such as how outposts with enterable interiors are generated (needs more research)
Cheat Engine can be used to adjust game elements in real time. There are different areas where this tool can be useful:
- Terrain Generation
- Biome Object Distribution
- Ship Handling
- Player Health/Shields
- Multi-Tool Charge/Ammo
This is mainly just a reference section. If you don't understand some of the information in here, don't worry! They are just technical details relating to various functions and data within the exe and memory.